Jag får fel på denna Inserten.
Jag skall bara uppdatera ett fält, kan man inte göra så här?
minDB.Execute ("INSERT INTO t_album(album) VALUES( '" & strAlbum & "'")
just nu så jobbar jag i VB så det är lite okänd mark för mig...
6 svar · 220 visningar · startad av saw
Jag får fel på denna Inserten.
Jag skall bara uppdatera ett fält, kan man inte göra så här?
minDB.Execute ("INSERT INTO t_album(album) VALUES( '" & strAlbum & "'")
just nu så jobbar jag i VB så det är lite okänd mark för mig...
Jag får Syntax error in In INSERT INTO.
Så här ser allt ut.
Dim strAlbum As String
Set mittRS1 = minDB.OpenRecordset("SELECT album FROM t_album ORDER BY album", dbOpenDynaset)
If Text1.Text = LCase(mittRS1!Album) Then
Label1.Caption = " Det finns redan en CD med det namnet."
Else
strAlbum = Text1.Text
minDB.Execute ("INSERT INTO t_album(album) VALUES( '" & strAlbum & "'")
Label1.Caption = " Nu sparas CD:n med namnet: " & Text1.Text
Text1.Text = ""
Command1.Caption = "OK"
Fyll_Lista
End If
mittRS1.Close
Command1.Enabled = False
Några förslag?
En anledning till att du får fel kan vara att strAlbum innehåller en '. I så fall måste du ersätta varje apostrof med två.
minDB.Execute ("INSERT INTO t_album(album) VALUES( '" & replace(strAlbum,"'","''") & "'")
Sen så är din kod för att kontrollera om ett album finns inte heltäckande. Du testar bara att den första posten du får inte är samma som den du vill lagra
Set mittRS1 = minDB.OpenRecordset("SELECT album FROM t_album where album = '" & replace(strAlbum,"'","''") & "'", dbOpenDynaset)
if not mittRS1.eof then
Label1.Caption = " Det finns redan en CD med det namnet."
Else
'insert
(Nu vet jag inte om det ser ut så här i VB (t.ex. EOF)).
En sak som LarsG missat, och även jag själv vid de första genomläsningarna av koden; det saknas en slutparentes i din SQL-fråga. Det bör alltså se ut så här:
minDB.Execute ("INSERT INTO t_album(album) VALUES( '" & replace(strAlbum,"'","''") & "')")
Mvh,
Tack Anders och LarsG, men nu hände någonting lustigt.
Jag fick felmedelande, men likväl så la han in det i databasen.
Vad gör jag för att slippa error?
Felet jag får nu är:
Fel: 3420 was generated by DAO.Recordset Object Invalid or no longer set.
Det blir fel här med, den godkänner dubbleter....
Set mittRS1 = minDB.OpenRecordset("SELECT album FROM t_album where album = '" & Replace(strAlbum, "'", "''") & "'", dbOpenDynaset)
Vad tror ni?
Fel av mig :r .
Felet var ett förargligt slarvfel:
mittRS1.Close
(jag använder ju inte det!!!)
Tack för all hjälp.