VB6 Daten aus Access selektieren

Guten Tag,

ich verzweifel grade an einem Übungsprogramm.

Ich möchte aus einer Tabelle, in der Vornamen, Daten und das Gewicht von Personen steht die Datensätze für eine Person suchen und in ein MSFlexGrid schreiben.

Die Ausgabe soll dann so bspw. so aussehen:

Tom 01.01.2000 100
Tom 01.01.2001 120
Tom 01.01.2003 110

Leider bekomm ich die Suche nicht hin.

Mein Code sieht zu Zeit so aus:

Private Sub cmd2_Click()
Dim con As New ADODB.Connection
Dim Rs2 As ADODB.Recordset

conStr = „Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb“
con.Open conStr

Set Rs2 = New ADODB.Recordset
SQL = „SELECT Vorname, Datum, Gewicht FROM Daten“
Rs2.Open SQL, con

End Sub

Ich habe schon alle möglichen Sachen versucht (Seek-Befehl, Fend, FindItem usw…), leider ohne Erfolg.

Hoffentlich könnt ihr mir helfen.

Hallo,

Du musst nur die Abfrage entsprechend gestalten.

Eingabe = Inputbox ("Bitte gesuchten Vornamen eingeben")
SQL = "SELECT Vorname, Datum, Gewicht FROM Daten WHERE Vorname = Eingabe"

Gruß Rainer

Hallo Rainer,

vom Prinzip her klappt das. Aber nun kommt das berühmte ABER.

Ich weiss das die Tabelle Daten heisst und gebe dann folgendes ein.

Rainer;DELETE * FROM Daten;

Besser ist es wenn du ein Commando erstellst und in als Parameter den Namen übergibst. So bist du vor SQL Injection geschützt :wink:
Adhock und ohne zu testen, muesste das wiefolgt ausschauen :wink:

Private Sub Test(rs As ADODB.Recordset)
Dim Sql As String
Dim Com As ADODB.Command
Set Com = New ADODB.Command
Sql = "SELECT \* FROM Daten WHERE Vorname LIKE ?"
Com.CommandText = Sql
Com.CommandType = adCmdText
Com.Parameters.Append Com.CreateParameter("Vorname", adVarChar, adParamInput, 255, InputBox("Bitte geben Sie den Vornamen ein:", "Vornamen eingeben..."))
Set rs = Com.Execute
End Sub

Über com.Parameters(Index).Value kannst du den Vornamen im nachgang noch aendern. Also musst du nur einmal die Parameter erstellen :wink:

MfG Alex