Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kontrolni broj JMBG/PIB u istom polju

[es] :: Access :: Kontrolni broj JMBG/PIB u istom polju

[ Pregleda: 8002 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

blingaro
Igor Malinkov
Uprava prihoda
Beograd

Član broj: 187756
Poruke: 81
*.starigrad.org.rs.



+1 Profil

icon Kontrolni broj JMBG/PIB u istom polju27.12.2011. u 08:58 - pre 149 meseci
Napravio sam za potrebe firme program za izradu opomena. Imam dva problemčića, pa se nadam da će neko uspeti da ih reši.
1) Postoji polje PIB (9 karaktera), a na događaj "after update" izračunava se kontrolni broj (postoji modul u bazi). E sad, da li bi isto polje moglo poslužiti i za izračunavanje kontrolnog broja po JMBG (13 karaktera), tj. da se u zavisnosti od veličine unetih karaktera obračuna kontrolni broj. Ja sam pokušavao, ali nešto neće.
2) U reportu ispod tabele u kojoj su navedena dugovanja, obrazloženje je uvek na drugoj strani. To lepo izgleda kad neko ima dugovanja na 6-7 računa, ali kad je samo 1 onda trećina papira ostaje prazna. Dakle, kako naterati da početak obrazloženja počne odmah ispod reda "Ukupno".

Hvala
Prikačeni fajlovi
 
Odgovor na temu

djux66
Beograd

Član broj: 66577
Poruke: 74
*.amres.ac.rs.

Sajt: www.mmveriga.co.rs


+9 Profil

icon Re: Kontrolni broj JMBG/PIB u istom polju27.12.2011. u 10:44 - pre 149 meseci
1) Možeš da upotrebiš funkciju Len za dužinu polja pa da staviš na txtJMBG_AfterUpdate:

Code:
Select Case Len(Me.txtJMBG) 'duzina unetih podataka pa ako je 9 proveravas PIB, ako je 13 proveravas jmbg, a ako je drugacije nije dobar podatak
    Case 9
        If ProveriPIB(txtJMBG) <> 0 Then
            MsgBox "PIB ne prolazi kontrolu"
            txtJMBG.SetFocus
        Else
            Dim str As String
            str = cmbOpstina2 & txtJMBG & cmbSlovo2.Column(1)
            txtKontrolni2 = Kontr(str)
        End If
    Case 13
        'zovi proveru jmbg

    Case Else
        MsgBox "Niste dobro uneli podatak"
        Me.txtJMBG.SetFocus
End Select


2) Da li si siguran da uopšte može da ti stane footer na jednu stranu ako imaš samo jedan račun? Koliko sam video na brzaka mnogo je veliki footer pa zato i ne može da ti stane. probaj da smanjiš to malo...
 
Odgovor na temu

banem
Kikinda

Član broj: 16619
Poruke: 583
*.adsl.eunet.rs.



+15 Profil

icon Re: Kontrolni broj JMBG/PIB u istom polju27.12.2011. u 12:47 - pre 149 meseci
Evo ti cele funkcije za proveru JMBG pa izvadi ono što ti treba:

Code:

Function Proveri_JMBG(JMBG As String) As String
    '
    ' funkcija vraca tekst sa opisom ispravnosti JMBG
    '
    ' upotreba na radnom listu: =Proveri_JMBG(adr)
    
    ' init promenljive
    Dim duzina As Integer, zbir As Integer
    Dim cifra(1 To 13) As Integer, i As Integer
    Dim dan As Integer, mesec As Integer, Godina As String
    
    ' init konstante; izmeniti po volji
    Const ERR_dan = "GREŠKA: podatak o datumu neispravan!"
    Const ERR_mesec = "GREŠKA: podatak o mesecu neispravan!"
    Const ERR_godina = "GREŠKA: podatak o godini neispravan!"
    Const ERR_duzina = "GREŠKA: dužina različita od 13!"
    Const ERR_kont = "GREŠKA: neispravan kontrolni broj ili datum!"
    Const OK_JMBG = "-1"
    
    ' preuzimanje ulaznih vrednosti
    duzina = Len(JMBG)
    dan = Int(Left(JMBG, 2))
    mesec = Int(Mid$(JMBG, 3, 2))
    Godina = Mid$(JMBG, 5, 3)
    
    ' provera dužine JMBG
    If (duzina <> 13) Then
       Proveri_JMBG = ERR_duzina
       Exit Function
    End If
    
    ' provera datuma
    If dan < 1 Then
       Proveri_JMBG = ERR_dan
       Exit Function
    End If
    
    ' provera meseca i dana u mesecu
    Select Case mesec
       Case 1, 3, 5, 7, 8, 10, 12
          If dan > 31 Then
             Proveri_JMBG = ERR_dan
             Exit Function
          End If
       Case 4, 6, 9, 11
          If dan > 30 Then
             Proveri_JMBG = ERR_dan
             Exit Function
          End If
       Case 2
          If ((Godina Mod 4 = 0) And dan > 29) Or _
             ((Godina Mod 4 <> 0) And dan > 28) Then
               Proveri_JMBG = ERR_dan
               Exit Function
          End If
       Case Else
          Proveri_JMBG = ERR_mesec
          Exit Function
    End Select
    
    ' provera godine: ispravne su od 1899 do teku?e godine
    If (Godina > Right(str(Year(Now)), 3)) And (Godina < "899") Then
       Proveri_JMBG = ERR_godina
       Exit Function
    End If
    
    ' provera kontrolnog broja
    For i = 1 To 13
       cifra(i) = Int(Mid$(JMBG, i, 1))
    Next i
    
    zbir = cifra(13) + cifra(1) * 7 + cifra(2) * 6 + cifra(3) * 5 + cifra(4) * 4
    zbir = zbir + cifra(5) * 3 + cifra(6) * 2 + cifra(7) * 7 + cifra(8) * 6
    zbir = zbir + cifra(9) * 5 + cifra(10) * 4 + cifra(11) * 3 + cifra(12) * 2
    
    If (zbir Mod 11) <> 0 Then
       Proveri_JMBG = ERR_kont
    Else
       Proveri_JMBG = OK_JMBG
    End If

End Function

Pozdrav,
Branislav
 
Odgovor na temu

banem
Kikinda

Član broj: 16619
Poruke: 583
*.adsl.eunet.rs.



+15 Profil

icon Re: Kontrolni broj JMBG/PIB u istom polju27.12.2011. u 12:55 - pre 149 meseci
Ono pod 2) nije moguće kako ste postavili jer samo podnožje (footer) je "te i te" veličine.

Moguće je da taj tekst postavite u tabelu, po jedan zapis za svaki red i onda svedete polje u podnožju na visinu jednog polja. Međutim, tada u MDB formatu ne možete mešati podebljan (bold) i običan tekst.

Ukratko, odgovor je najverovatnije: nikako u verziji 2003. Mislim da je Leban ranije imao negde svoju kontrolu za mešanje bold i običnog teksta, sad ne mogu da nađem.

EDIT: trebalo bi da je ovo http://www.lebans.com/mixbold-plain.htm

Pozdrav,
Branislav
 
Odgovor na temu

banem
Kikinda

Član broj: 16619
Poruke: 583
*.adsl.eunet.rs.



+15 Profil

icon Re: Kontrolni broj JMBG/PIB u istom polju27.12.2011. u 13:00 - pre 149 meseci
Uzgred, piše tamo negde "imate dospelU, a neizmirenU obavezU". Trebalo bi u množini, bez obzira što može biti jedna obaveza. :)
Pozdrav,
Branislav
 
Odgovor na temu

blingaro
Igor Malinkov
Uprava prihoda
Beograd

Član broj: 187756
Poruke: 81
*.dynamic.sbb.rs.



+1 Profil

icon Re: Kontrolni broj JMBG/PIB u istom polju27.12.2011. u 18:46 - pre 149 meseci
djux66: Totalno sam zaboravio na kombinaciju sa „Select case“, već sam pokušavao sa „If ... Then“ i tu sam se zapetljao. Ubacio sam sa „Select case“ i naravno da radi.

BaneM: Ja sam negde svojevremeno skinuo malo ogoljenu funkciju za proveru JMBG. Hvala na ovoj kompletnoj. Poslužiće.

Inače, problem sa brojem redova i futerom sam delimično rešio tako što sam deo redova iz „report footera“ prebacio u „broj footer“, te sada izgleda pristojnije. Jedino što kada ima 6 i više redova prebacuje red „Ukupno“ na novu stranu. Ipak, pošto 6 redova ima tek nekoliko puta godišnje to ću rešavati ručno prebacivanjem redova iz „broj footer“ u „report footer“ kako bi bilo pristojno prilikom štampe.

U svakom slučaju hvala obojici.
 
Odgovor na temu

blingaro
Igor Malinkov
Uprava prihoda
Beograd

Član broj: 187756
Poruke: 81
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Kontrolni broj JMBG/PIB u istom polju29.12.2011. u 17:20 - pre 149 meseci
U vezi sa okačenom bazom, imam još jedan problem, nadam se i poslednji. Trebalo bi na drugoj strani u reportu pobrojati u nizu sve navedene račune iz subforme i odvojiti ih zarezima (obeležio sam mesto u tekstu gde bi to trebalo da se nalazi). Nekada je to samo jedan, a nekada više računa. Ja sam nešto pokušavao, ali ne ide. Može li pomoć?

Hvala
Prikačeni fajlovi
 
Odgovor na temu

Zoran.Eremija
Zoran Eremija
SYSTEM ANALYST
Freelancer
Beograd

Član broj: 251342
Poruke: 855
109.106.243.*

Sajt: zoraneremija.wix.com/erem..


+47 Profil

icon Re: Kontrolni broj JMBG/PIB u istom polju29.12.2011. u 19:06 - pre 149 meseci
Da li ste ovo zeleli?
Prikačeni fajlovi
 
Odgovor na temu

blingaro
Igor Malinkov
Uprava prihoda
Beograd

Član broj: 187756
Poruke: 81
*.dynamic.sbb.rs.



+1 Profil

icon Re: Kontrolni broj JMBG/PIB u istom polju29.12.2011. u 19:52 - pre 149 meseci
Citat:
Zoran.Eremija: Da li ste ovo zeleli?


Da, da, da. To je to. Znao sam da ima neka caka u kveriju, ali nisam znao kako. Znao sam i da ću dobiti odgovor ili od Vas ili od SLOJ.1973. Hvala. Inače, pratim temu u kojoj pomažete "sekretarici, plasticnahirurgija". Svima vama svaka čast na strpljenju, ljubaznosti i na tome koliko ste spremni da pomognete. Pozdrav i sve najbolje u Novoj godini.
 
Odgovor na temu

[es] :: Access :: Kontrolni broj JMBG/PIB u istom polju

[ Pregleda: 8002 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.