Sta se desava! Zadatak je da u formi, dodelim automatski vrednost txt polju po principu poslednja_vrednost_u_tabeli+1. Radi se o serijskim brojevima koji idu po redu, ali nije primenjivo autoNumber, jer se trazi mogucnost da se neki preskoce, pa imamo situaciju npr:
1
2
3
4 necemo nego ukucamo 7
pa ide 8
9
10
itd...
Samo polje nije primarni kljuc, nego je indexirano i nisu dozvoljene duple vrednosti.
Najcudnije je da je kod radio neko vreme, a onda sam nesto menjao, ali ne u samom kodu, nego u relacijama (mislim da se nakon toga poremetilo, ali nisam siguran). Sam kod izgleda ovako:
Citat:
Private Sub br_karte_GotFocus()
invoice_id.Value = Forms![invoice1]![txtInvoiceNo]
Dim MyDB As Database, rsRacuni As Recordset
Set MyDB = CurrentDb()
Set rsRacuni = MyDB.OpenRecordset("racuni_detalji", dbOpenSnapshot)
Set rsKarta = MyDB.OpenRecordset("karta", dbOpenSnapshot)
strKarta = "[karta_uvek]='" & "176" & "'"
rsRacuni.Sort = "racundet_id"
rsRacuni.MoveLast
rsKarta.FindFirst strKarta
If rsRacuni.BOF Then
br_karte.Value = rsKarta![karta_cesto]
Else
br_karte.Value = rsRacuni![br_karte] + 1
End If
rsRacuni.Close
rsKarta.Close
End Sub
Debil se zalepi za jedan record, koji nije poslednji, nego 2-3 mesta pre kraja i ni makac odatle, bez obzira sta ja probao.
U cemu je fora?
Na rsKarta ne obracajte paznju jer je nesto sto se koristi jednom u sto godina i koristi drugu tabelu pa nema veze sa problemom, ali treba biti u proceduri za nedaj boze.
Pušenje je štetno za zdravlje :)