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:
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.
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:
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()
Ik wacht met smart op reacties.
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')
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.