Probaj ovako:
Code:
Private Sub Command27_Click()
'Zapazi kako se moze koristiti debug.print da ti otprinta SQL
'koji onda mozes da probas u SQL prozoru i tu lakse vidis sta ne valja
Dim strSQL As String
strSQL = "INSERT INTO tblUlaz(IDTransakcije,SIFRA,Datum,Skl,Ulaz,IDdokumenta,BrojDokumenta,Dobavljac)" & _
vbCrLf & "SELECT '" & Me.IDTransakcije & "','" & Me.ComboSifra.Column(0) & "','" & Me.Datum & "','" & _
Me.ComboSkl.Column(0) & "','" & Me.txtKomada & "','" & Me.IDdokumenta.Column(0) & "','" & _
Me.BrDokumenta & "','" & Me.Dobavljac.Column(0) & "'"
Debug.Print "Originalni strSQL:"
Debug.Print "------------------"
Debug.Print strSQL
'Ovako treba da ti izgleda strSQL, bez navodnika oko numerickih polja
strSQL = "INSERT INTO tblUlaz(IDTransakcije,SIFRA,Datum,Skl,Ulaz,IDdokumenta,BrojDokumenta,Dobavljac)" _
& vbCrLf & "SELECT " & Me!IDTransakcije & ",'" & Me!ComboSifra.Column(0) _
& "',#" & Me!Datum & "#,'" _
& Me.ComboSkl.Column(0) & "'," _
& Me.txtKomada & "," & Me.IDdokumenta.Column(0) & ",'" _
& Me.BrDokumenta & "'," & Me.Dobavljac.Column(0) & ""
Debug.Print "Ispravljen strSQL:"
Debug.Print "------------------"
Debug.Print strSQL
DoCmd.RunSQL strSQL
Me.subUlaz.Requery
Me![ComboSifra] = Null
Me![txtKomada] = Null
DoCmd.GoToControl "ComboSifra"
End Sub
Izvrsi kod i pogledaj debug window. Videces tvoj originalni SQL i promenjeni. Problem nije bio u datumu nego u numerickim polima. Nije bilo razloga da numericka polja stavis u znakove navoda oko nummerickih podataka. Zto je pucao kveri. Sto se tice datuma, datum moze da prodje i sa znakovima navoda ali je cistije kad se upotrebi #12.04.2008# nego '12.04.2008'
Ako vec ovako radis, preporucujem da umesto RunSQL koristis
set db = currentdb
db.execute failonerror
i da dodas Error handling. Onda ce ti tacno reci
Zatim, sta ce se desiti ako korisnik pritisne dugme a da nije izabrao sve podatke. Meni je pucao kveri, a verujem da ce i kod korisnika. Dakle, pre nego sto pokusas da izvrsis kveri, proveri da li su svi podaci prisutni. Ako je bilo sta NULL ili ima recimpo prazan string, nemoj ni da pokusas da izbvrsis kveri, nego pokazi korisniku poruku.
I na kraju, mozda najkorisnija stvar - umesto da se mucis sa postavljanjem apostrofa gde treba i korektnog oznacavanja datuma, nadji u Bazi Znanja na forumu funkcije QUoted i SQLDAte i koristi njih. SQLDate imas i na sajtu Alen Browne, pa mozes da uzmes i odatle.
http://allenbrowne.com/ser-36.html
Moram da priznam da mi dijagram relacija nije bas jasan, ali ko zna, mozda tebi bas tako treba. Zbog neobicnog dijagrama relacija mucis se da postignes veoma jednostavnu stavr - unos stavki sa dokumenta u tabelu Ulaz.
:-)