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).
Izracunavanje kontrolnog broja
Zaključano
Zakačeno
Nisam gledao to sto si prilozio, ali evo ti funkcija koju sam napravio i koristim je godinama:
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.
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
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.
Posto se ja bavim knjigovodstvom, interesuje me kako da primen ovaj tvoj kod za izracunavanje kontrolnog broja.
Poz!
Poz!
Potpis
Bez muke nema nauke!!!
Citat:
draki.mpek: Posto se ja bavim knjigovodstvom, interesuje me kako da primen ovaj tvoj kod za izracunavanje kontrolnog broja.
Poz!
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"
strPozivNaBroj = KontrolniBroj(97, "R1000-06/98") & "-" & "R1000-06/98"
Da mislio sam na to sto si nabrojao:
-gde da "stavis" kod
-kako da pozoves funkciju
Poz!
-gde da "stavis" kod
-kako da pozoves funkciju
Poz!
Potpis
Bez muke nema nauke!!!
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
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
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.
Pogledaj svoj primjer sa goranovom funkcijom
Potpis
Kiro
Zahvaljujem vam sto ste mi na mom primeru pokazali kako primeniti datu funkciju.Uspelo je u potpunosti.
Pozdrav ibrkic
Pozdrav ibrkic
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.
Napomena uz resenje: funkcija je napravljena po uputstvu iz UJP-a da bi bila kompatibilna sa njihovim algoritmom.
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.
Potpis
Kiro
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!
Pozdrav!