[ ibrkic @ 10.10.2006. 11:21 ] @
Da li je moguce racunanje kontrolnog broja koji se upisuje na nalozima za prenos za broj koji ima vise od 15 cifara(mislim da je limit 15 cifara).
[ goranvuc @ 10.10.2006. 13:49 ] @
Nisam gledao to sto si prilozio, ali evo ti funkcija koju sam napravio i koristim je godinama:
Code:

Public Function KontrolniBroj(ByVal inModel As Variant, ByVal inTekst As String) As String
    Dim varInput_Value As Variant
    Dim varResult As Variant
    
    KontrolniBroj = ""
    If inTekst = "" Then Exit Function
    
    ObradiTekst inTekst
    If Not IsNumeric(inTekst) Then Exit Function
    
    varInput_Value = CDec(inTekst) * 100
    varResult = CDec((varInput_Value / inModel) - Fix(varInput_Value / inModel))
    varResult = Round(varResult, 2)
    varResult = inModel + 1 - Round(varResult * inModel)
    
    KontrolniBroj = CStr(varResult)
    If Len(KontrolniBroj) = 1 Then
        KontrolniBroj = "0" & KontrolniBroj
    End If
    
End Function
Private Sub ObradiTekst(ByRef inTekst As String)
   Dim Slova
   Dim Vrednosti
   
   Dim intBrojac As Integer
   Dim intBrojac2 As Integer
   Dim strTMP As String
   
   inTekst = UCase(inTekst)
   strTMP = ""
   
   Slova = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", _
                 "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", _
                 "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", _
                 "U", "V", "W", "X", "Y", "Z")
   
   Vrednosti = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", _
                     "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", _
                     "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", _
                     "30", "31", "32", "33", "34", "35")
   
   For intBrojac = 1 To Len(inTekst)
      For intBrojac2 = 0 To UBound(Slova)
         If Mid(inTekst, intBrojac, 1) = Slova(intBrojac2) Then
            strTMP = strTMP & Vrednosti(intBrojac2)
         End If
      Next
   Next
   
   inTekst = strTMP
   
End Sub

Kao sto vidis, jedino ogranicenje je sto u pozivu na broj ne sme biti čćšđžŠĐŽČĆ, ili nekih drugih karaktera (ako ih ima, funkcija ih ignorise). Funkciju sam primenjivao za racunanje kontrolnog broja po modulu 97.
[ Pike79 @ 10.10.2006. 15:15 ] @
Posto se ja bavim knjigovodstvom, interesuje me kako da primen ovaj tvoj kod za izracunavanje kontrolnog broja.

Poz!
[ goranvuc @ 10.10.2006. 15:33 ] @
Citat:
draki.mpek: Posto se ja bavim knjigovodstvom, interesuje me kako da primen ovaj tvoj kod za izracunavanje kontrolnog broja.

Poz!

Ne razumem bas najbolje tvoje pitanje, ovo je Access forum, dao sam ti VB/VBA kod koji ti vraca kontrolni broj za odredjeni tekst i odredjeni modul, pa reci malo detaljnije sta ti nije jasno:

-gde da "stavis" kod
-kako da pozoves funkciju
-sta da radis sa rezultatom funkcije
-nisi bas siguran sta je kontrolni broj

Ako pretpostavimo da si me pitao kako se upotrebljava funkcija, onda ti je odgovor sledeci:
Ako imas broj racuna "R1000-06/98", koji ti predstavlja poziv na broj pri placanju, i hoces da koristis i kontrolni broj po modulu 97, onda je konacan poziv na broj:
Code:

strPozivNaBroj = KontrolniBroj(97, "R1000-06/98") & "-" & "R1000-06/98"
[ Pike79 @ 11.10.2006. 00:03 ] @
Da mislio sam na to sto si nabrojao:

-gde da "stavis" kod
-kako da pozoves funkciju

Poz!
[ ibrkic @ 11.10.2006. 06:38 ] @
Nisam najbolje razumeo vas cod ali u svakom slucaju zahvaljujem na ulozenom trudu i iskazanom interesovanju za postavljeno pitanje.
Ja sam to zamislio na jedan jednostavan nacin sto se moze videti iz datog priloga.Na obrascu je dato nekoliko kontrola(pogledati dizajn obrasca) i jednostavnim racunskim putem dolazite do kontrolnog broja.Znaci vi samo upisete u prvu kontrolu broj za koji racunate kontrolni broj i pritiskom na enter dobijate kontrolni broj.Problem nastaje kada broj za koji se racuna kontrolni broj ima vise od 15 cifara.Da li je to mozda ogranicenje samog accessa.

Pozdrav ibrkic
[ goranvuc @ 11.10.2006. 07:38 ] @
Citat:
ibrkic: Problem nastaje kada broj za koji se racuna kontrolni broj ima vise od 15 cifara.Da li je to mozda ogranicenje samog accessa.


Dao sam ti funkciju koja racuna kontrolni broj, a nema ogranicenje koje ti predstavlja problem.
[ Kiro @ 11.10.2006. 13:02 ] @
Pogledaj svoj primjer sa goranovom funkcijom
[ ibrkic @ 11.10.2006. 13:36 ] @
Zahvaljujem vam sto ste mi na mom primeru pokazali kako primeniti datu funkciju.Uspelo je u potpunosti.
Pozdrav ibrkic
[ goranvuc @ 11.10.2006. 13:50 ] @
Ja se zahvaljujem @Kiro sto je ucestvovao kao posrednik, nisam mislio da su ove funkcije toliko komplikovane za razumevanje.

Napomena uz resenje: funkcija je napravljena po uputstvu iz UJP-a da bi bila kompatibilna sa njihovim algoritmom.
[ Kiro @ 11.10.2006. 15:12 ] @
Hvala tebi gorane za funkciju, mada se u BiH ne koristi kontrolni broj u zadnje vrijeme kako nema zavoda za platni promet, ili barem ja ne koristim u svom poslovanju.
[ goranvuc @ 15.05.2014. 17:28 ] @
Malo da vratim temu iz prašine, nešto više o ovoj temi sam napisao na http://a3but.info/index.php/pr...-kontrolnog-broja-po-modulu-97

Pozdrav!