[ BRATISLAV @ 27.01.2004. 12:42 ] @
Imam problem sa programom koji radim. Evo dela koda

Code:

Dim rec As Integer
db1.Provider = "Microsoft.Jet.OLEDB.4.0"
rs1.LockType = adLockOptimistic
rs1.CursorType = adOpenKeyset
str1 = App.Path & "\SIFRE.mdb"
db1.Open str1
rec = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0)
str1 = "Select sifra,[rezervni delovi],namena,komentar FROM sifre where sifra=" & rec
rs1.Open str1, db1
rs1!sifra = txtSifra.Text & ""
rs1![rezervni delovi] = txtRezervni.Text & ""
rs1!namena = txtNamena.Text & ""
rs1!komentar = txtKomentar.Text & ""
rs1.UpdateBatch



Kad hocu da promenim sifru javlja mi gresku run-time error '3021'. Kad ne menjam sifru, vec samo ostala polja onda radi. U bazi imam polje id koje je AutoNumber, a polje sifra je tipa Number. U cemu je problem. Hvala


[Ovu poruku je menjao mladenovicz dana 27.01.2004. u 15:12 GMT]
[ mladenovicz @ 27.01.2004. 13:04 ] @
Nigde ne radis proveru da li recordset sadrzi podatke ili ne

Code:

If Not (RS.BOF And RS.EOF) Then


Greska 3021 je: Either EOF or BOF is True, or the current record has been deleted; the operation requested by the application requires a current record.

Ako vec koristis UpdateBatch metod, onda koristi LockType = adLockBatchOptimistic.