[ rribaric @ 18.12.2004. 23:59 ] @
Evo mene opet s novim problemom.Niti jedan dan proveden s accessom ne može proći bez problema!Nastavio sam s radom nakon nekih obaveza!
Greška je ova .U programu sam zbog vraćanja podataka spremio u jednu tablicu podatke prije mijenjanja!Kasnije u radu trebaju mi ti podaci i želio bi ih neke vratit u tablicu na njihovo mijesto.
Kod sam napisao ovako :
Public Function fodustani()
DoCmd.SetWarnings (False)
Dim t, tSQL As String
Dim tb, tb3 As DAO.Recordset
Dim db As DAO.Database
On Error GoTo Err_fbrisanje
t = Me.OpenArgs
Set db = CurrentDb
Set tb = db.OpenRecordset("edupla")
Set tb3 = db.OpenRecordset("radna")
tb.MoveFirst
tb3.FindFirst "ID=" + t
.............

Podatke iz edupla vraćam u tablicu relacija s tim da bi ih trebalo popzicionirati točno na traženi ID!
Stavio sam error handler i dobio sam ovaj mesage:"Greška broj 3251 Operation iz not suported for this type of object."
Zašto se ne želi pozicionirati na traženi rekord( ID ),i kako da to napravim ,gdje griješim
[ Zidar @ 20.12.2004. 17:18 ] @
Daj nam celu funkciju. Iskljuci Error handler privremeno (stavi apostrof ispred On Error Goto) i gledaj u kojoj linij tacno se javlja greska.
[ rribaric @ 20.12.2004. 19:42 ] @
Grešku mi prijevljuje na tb3.FindFirst "ID=" + t
Zašto se on jednostavno ne pozicionira na taj ID.

Evo kod je malo duži .Malo sam zakomplicirao samu organizaciju baze ali sad nemam vremena za to ispravljat jer mi hitno treba program.Kraj je godine I treba napisat putne naloge.
Već je bilo govora da treba dvije tablice objedinit I napravit dvije forme unosa,onda mi ovo nebi ni trebalo ali što je tuje.

Public Function fodustani()
DoCmd.SetWarnings (False)
Dim t, tSQL As String
Dim tb, tb3 As DAO.Recordset
Dim db, db3 As DAO.Database
Dim br As Integer
'On Error GoTo Err_fbrisanje
t = Me.OpenArgs
Set db = CurrentDb
Set db3 = CurrentDb
Set tb = db.OpenRecordset("edupla")
Set tb3 = db3.OpenRecordset("stranaA")
tb.MoveFirst
'tu mi neda dalje-nemože se pozicionirat na traženi ID
tb3.FindFirst "ID=" + t
If tb3.NoMatch Then
MsgBox "greska"
Else
With tb3
.Edit
tb3!mjesto = tb!mjesto
………

.Update
End With
End If
If Me!IDB = "" Or VarType(Me!IDB) = vbNull Then
Exit Function
Else
Me![sat_odlazak].Value = Me![sat_odlazak].OldValue
…………
End If

tSQL = "DROP TABLE edupla;"
'DoCmd.RunSQL (tSQL)
DoCmd.Close acForm, Me.Name, acSaveNo
DoCmd.Close acForm, "pregledA", acSaveNo
DoCmd.OpenForm "GMASKA", acNormal, , , acEdit, acNormal
[Forms]![gmaska].Requery

exit_fbrisanje:
Exit Function
………..
…….
End Function
[ Zidar @ 20.12.2004. 20:49 ] @
Malo sam kopao HELp i kaze ovako: FindFirst method radi za dynaset i snapshot rekordeste. Tvoji rercordseti su table tipa. probaj da napravis ovakav kod:
Code:

Set tb = db.OpenRecordset("SELECT * FROM edupla",dbOpenDynaset)
Set tb3 = db3.OpenRecordset("SELECT * FROM stranaA",dbOpenDynaset)


Trebalo bi da eliminise gresku koju si dobio.

:-)
[ rribaric @ 20.12.2004. 22:33 ] @
Stvarno si Genije.Funkcionira!Ja nikako nisam uspio riješit taj problem.
Ako ikad dođem na kviz "tko želi biti milijunaš" tebe ću prijavit za džokera "Zovi"(Naravno ako prihvatiš).
Thank you!:-)