Toevoegen/updaten van records?

Status
Niet open voor verdere reacties.

Dilophosaurus R

Gebruiker
Lid geworden
10 dec 2008
Berichten
21
Ik ben op zoek naar een manier waarmee ik via Visual Basic nieuwe records aan een Access database kan toevoegen en bestaande records updaten.

Ik heb nu deze code voor het toevoegen van records:
Code:
INSERT INTO Game (Titel,Platform,Genre,Jaar,Rating) VALUES ('NaamBox.Text','PlatformBox.Text','GenreBox.Text','ReleasejaarBox.Text','RatingBox.Text')
Maar die werkt niet. Ik krijg een foutmelding met "Expected end of statement."

Het is dus zeg maar de bedoeling dat door op een knop te drukken de waarden in mijn vijf textboxes (NaamBox, GenreBox, ReleasejaarBox, RatingBox en PlatformBox) in de database worden opgeslagen als een nieuwe record.

Bij deze code voor het updaten van records krijg ik dezelfde foutmelding.
Code:
UPDATE Game SET Titel='NaamBox.Text', Platform='PlatformBox.Text', Genre='GenreBox.Text', Jaar='ReleasejaarBox.Text', Rating='RatingBox.Text WHERE Titel = 'NaamBox.Text'

Bij bovenstaande code is het de bedoeling dat door op een knop te drukken de waarden van een bepaalde record (die bepaald wordt bij de WHERE regel) worden overschreven door de waarden die op dat moment in de vijf textboxes staan.

Ik gebruik de benedenstaande code voor het maken van mijn databaseconnectie:
Code:
Dim conndb As New ADODB.Connection
Dim recs As New ADODB.Recordset
Dim sqls As String

Code:
Private Sub Form_Load()
With conndb
        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =  Videogames.mdb "
        .Open
End With

sqls = "SELECT Titel  FROM Game ORDER BY Titel"
recs.Open sqls, conndb
If recs.EOF Or recs.BOF Then
    MsgBox ("No Match Found ")
Else
    Do While Not recs.EOF
        Videogames.AddItem (recs.Fields(0))
        recs.MoveNext
    Loop
End If
recs.Close
End Sub

Zou iemand mij hiermee kunnen helpen?

En ik ben ook nog op zoek naar iemand die mij zou kunnen helpen met mijn zoekcode te perfectioneren. De code die ik nu heb werkt wel, maar geeft het gewenste resultaat 5x weer. Als ik bij de zoekfunctie invoer "Tetris" bijvoorbeeld, dan geeft het resultaat 5x Tetris te zien.

Dit is de code die ik gebruik om te zoeken:
Private Sub Zoeken_Click()
Code:
a = """"

If ZoektOp.Text = "Titel" Then
Videogames.Clear
sqls = "SELECT Titel FROM Game WHERE Titel LIKE " & a & ZoekBox.Text & a & " ORDER BY Titel"
End If
recs.Open sqls, conndb
 Do While Not recs.EOF
    Videogames.AddItem (recs.Fields(0))
    recs.MoveNext
    Loop
recs.Close

If ZoektOp.Text = "Genre" Then
Videogames.Clear
sqls = "SELECT Titel FROM Game WHERE Genre LIKE " & a & ZoekBox.Text & a & " ORDER BY Titel"
End If
recs.Open sqls, conndb
 Do While Not recs.EOF
    Videogames.AddItem (recs.Fields(0))
    recs.MoveNext
    Loop
recs.Close

If ZoektOp.Text = "Platform" Then
Videogames.Clear
sqls = "SELECT Titel FROM Game WHERE Platform LIKE " & a & ZoekBox.Text & a & " ORDER BY Titel"
End If
recs.Open sqls, conndb
 Do While Not recs.EOF
    Videogames.AddItem (recs.Fields(0))
    recs.MoveNext
    Loop
recs.Close

If ZoektOp.Text = "Rating" Then
Videogames.Clear
sqls = "SELECT Titel FROM Game WHERE Rating LIKE " & a & ZoekBox.Text & a & " ORDER BY Titel"
End If
recs.Open sqls, conndb
 Do While Not recs.EOF
    Videogames.AddItem (recs.Fields(0))
    recs.MoveNext
    Loop
recs.Close

If ZoektOp.Text = "Releasejaar" Then
Videogames.Clear
sqls = "SELECT Titel FROM Game WHERE Jaar LIKE " & a & ZoekBox.Text & a & " ORDER BY Titel"
End If
recs.Open sqls, conndb
 Do While Not recs.EOF
    Videogames.AddItem (recs.Fields(0))
    recs.MoveNext
    Loop
recs.Close
End Sub

Ik wacht met smart op reacties.
 
Nou als ik je eerste en tweede vraag bekijk , en ik er van uit ga dat 'NaamBox.Text' etc. Objecten en haar properties zijn zoek ie naar "NaamBox.Text" in de database. Dus die waarde zal je eerst uit VB moeten halen. Om die in de SQL te verwerken.

Code:
INSERT INTO Game (Titel,Platform,Genre,Jaar,Rating) VALUES ('[COLOR="Red"]" & [/COLOR]NaamBox.Text[COLOR="red"] & "[/COLOR]','[COLOR="red"]" & [/COLOR]PlatformBox.Text[COLOR="red"] & "[/COLOR]','[COLOR="red"]" & [/COLOR]GenreBox.Text[COLOR="red"] & "[/COLOR]','[COLOR="red"]" & [/COLOR]ReleasejaarBox.Text[COLOR="red"] & "[/COLOR]','[COLOR="red"]" & [/COLOR]RatingBox.Text[COLOR="red"] & "[/COLOR]')


je zoekfunctie is heel warrig.. ik kan nou niet opmaken of je nu 5 textboxen hebt of naar een text zoekt in 1 textbox.
het probleem is ook daar je sql query. LIKE & a (a = """" ???????) dat gaat natuurlijk geheid mis. Je moet daar ook een apostrof voor gebruiken. chr(39)

Code:
"SELECT [COLOR="Red"]Game.[/COLOR]Titel FROM Game WHERE [COLOR="red"]Game.[/COLOR]Jaar LIKE [COLOR="red"]'[/COLOR]" & ZoekBox.Text & "[COLOR="red"]'[/COLOR] ORDER BY Titel"
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan