[ BaCkSpAcE @ 19.08.2002. 21:04 ] @
Imam jedan osnovni problem sa bazom u Visual Basicu. Potrebno je da dodam jedan slog u Accessovu mdb bazu koju sam ja vec kreirao i u nju sam dodao 8 slogova. Evo kako izgleda otprilike taj deo mog koda koji dodaje nove slogove:

Citat:

Dim db As Database
Dim tabla As Recordset

Set db = OpenDatabase(App.Path + "\" + "magacin.mdb")
Set tabla = db.OpenRecordset("Table1")

With tabla
.MoveLast
.AddNew
.Edit
!Tip = Trim(Combo1.Text)
!Komponenta = Trim(Text1.Text)
!Magacin = Int(Val(Trim(Text2.Text)))
!Cena = Val(Trim(Text3.Text))
!Mesto = Trim(Text4.Text)
.Update
End With


Problem u svemu ovome je taj sto ovaj deo koda, umesto da u nov slog ubaci podatke, on ubaci u zadnji slog podatke tako sto prepise one stare. Da ilustrujemo ;) Znaci ako ja imam 8 slogova upisanih u bazu, kada pokusam sa ovim parcetom koda da upisem nov slog, on umesto da sve to upise u slog 9 (novi slog) on predje preko sloga 8.
Potrebno mi je resenje za ovaj problem ali mi ne treba resenje tipa koristi ADO ili slicno, nego mi treba resenje za ovaj moj nacin pristupa bazi (DAO).

p0zdrav
[ jc denton @ 19.08.2002. 23:46 ] @
...
.MoveLast
.AddNew
.movenext
...

Dodaj ovo sto je naznaceno i radice.

Naime, posle 'primene' .AddNew metoda, tekuci record (slog) je onaj sto je i pre izvrsenja tog metoda bio tekuci (current record). Ima tu jos nekih za*ebancija sto se tice ovoga, a odnosi se na tip recordset-a pa je najbolje je da konsultujes MSDN :)

pozdrav

[ BaCkSpAcE @ 20.08.2002. 03:29 ] @
Ali opet nece. Sada mi javi gresku "No current Record" i kada pritisnem taster Debug, on mi pozuti ono ".Edit". Sta sada da radim?

p0zdrav
[ gio1000 @ 20.08.2002. 11:32 ] @
Probaj izbaciti Edit. Mislim da ti je nepotrbno.
Samo AddNew
[ jc denton @ 20.08.2002. 14:37 ] @
Izbaci onda i movenext, mozda sam i ja pogresio (nisam ovo radio davno bese).
[ BaCkSpAcE @ 21.08.2002. 02:01 ] @
e ovo je resenje !!! Treba izbaciti i Edit i MoveNext. Hvala ti mnogo, duznik sam ti...

caos
[ Krsta @ 21.08.2002. 02:43 ] @
Izbaci Edit i Update.
Znaci kao sto Denton rece:

Idi na AddNew
pa upisi slog, onda odi na movelast
npr. if not data1.recordset.EOF then data1.recordset.movelast
, bar ja tako koristim i radi mi fino.
pa onda sve to lepo Refresh-uj.
[ Krsta @ 21.08.2002. 02:45 ] @
Izgleda da sam malo zakasnio posto sam se diskonektovao pre posta,
ali u svakom slucaju odradi ovaj Refresh.