Ich habe ein VB6-Projekt erstellt und ich habe eine Methode, die Schüler aus einer Access-Datenbank sucht und bearbeitet. Ich muss das Programm so programmieren, dass es den durchsuchten Schüler auswählt und modifiziert. Ich habe diese Webseite gesehen, aber sie wählt den Schüler nicht aus, der Benutzer muss ihn auswählen, bevor er Änderungen vornimmt, https://support.microsoft.com/en-us/kb/195472. Wie programmiere ich es so, dass es diese bestimmte Zeile auswählen kann, damit der Benutzer sie bearbeiten kann. -Code mit Hilfe der Website:Programmgesteuertes Auswählen von Zeilen in vb6 Datagrid
Option Explicit
Dim connSearch As New ADODB.Connection
Dim rec As New ADODB.Recordset
Private Sub cmdSearch_Click()
connSearch.Close
connSearch.Open connstr
rec.CursorLocation = adUseClient
If cmbSearch.Text = "Last Name" Then
rec.Open "Select * From Table1 where [Last Name] like '" & txtSearch.Text & "'", connSearch, adOpenDynamic, adLockOptimistic
frmStudents.cmdShowall.Enabled = True
If rec.EOF Then
MsgBox "No Student Found.", vbInformation, "Error"
Else
Set frmStudents.StudentTable.DataSource = rec
MsgBox "Student found Successfully", vbInformation, "Success"
' Remove previously saved bookmark from collection
If (frmStudents.StudentTable.SelBookmarks.Count <> 0) Then
frmStudents.StudentTable.SelBookmarks.Remove 0
End If
' Append your bookmark to the collection of selected rows
frmStudents.StudentTable.SelBookmarks.Add rec.Bookmark
frmSearch.Hide
End If
End If
End Sub
Danke für die Hilfe. :)
EDIT: Verschieben Code aus Kommentaren hier
Private Sub Form_Load()
connSearch.Open connstr 'open the connection
frmStudents.Adodc1.ConnectionString = conn.connstr
Set frmStudents.StudentTable.DataSource = frmStudents.Adodc1
End Sub
Das tut nicht sehe wie das Beispiel aus. Sollte Ihre Datagrid-Datenquelle nicht auf das gesamte Recordset gesetzt werden - nicht nur auf den passenden Nachnamen? Wo ist Ihr Formularladungscode, der das Datagrid füllt? – dbmitch
Das sieht so aus, als wäre es Teil eines Moduls und kein Formular - befindet es sich in derselben Form? Oder zeigen Sie uns nur eine Art von extrahiertem Code? – dbmitch
Ich habe zwei Formen, eine für die Suche nach den Studenten und eine für die DataGrid und Kontrollen. Der Code, den ich in der Frage angegeben habe, ist ein Auszug aus dem Suchformular. Der nächste Kommentar zeigt den Formularladecode, der das Datagrid und die Datenbank abruft. –