Hi Dieter,
erstmal recht herzlichen Dank, genau das meinte ich
Ich hab auch versucht, mein Programm entsprechend anzupassen, bekomme aber immer einen Laufzeitfehler 3001 (Arguments of the wrong type, are out of acceptable range, or are in conflict with another).
Ich finde den Konflikt aber nicht. Darf ich dir vielleicht auf diesem Wege mal meinen Quelltext zeigen, vielleicht findest du den Fehler sofort?
Wahrscheinlich liegt es daran, dass ich meine Datenbank bereits auf einem anderen Weg geöffnet habe. Ich weiß jetzt nicht, wie ich auf das Recordset zugreifen kann. Bis zur Eingabe des Namens komme ich auf jeden Fall schon mal *freu*
Option Explicit
Private conn As Connection
Dim bColl As New BindingCollection
Private WithEvents Rs As Recordset
Private Sub Form_Load()
Set conn = New Connection '---------->öffnen
' meiner Datenbank
conn.CursorLocation = adUseClient
conn.Provider = "Microsoft.Jet.Oledb.3.51"
conn.Open App.Path & "\alt_handball.mdb"
Set Rs = New Recordset
Set Rs.ActiveConnection = conn
Rs.CursorType = adOpenKeyset
Rs.LockType = adLockOptimistic
Rs.Open "SELECT Name,Vorname,Telefonnummer from adressen order by Name", , , _
, adCmdText
Set bColl.DataSource = Rs
bColl.Add txtName(0), "Text", "Name"
bColl.Add txtVorname(1), "Text", "Vorname"
bColl.Add txtTelefon(2), "Text", "Telefonnummer"
End Sub
Private Sub cmdSuchen_Click(Index As Integer)
Dim sName As String
sName = InputBox("Bitte Namen eingeben:")
If sName <> "" Then
Set Rs = conn.OpenRecordset("SELECT * FROM adressen WHERE Name = '" & sName _
& "'") '--------------> Hier _
ist bestimmt der Fehler!!!!
If Rs.RecordCount > 0 Then
' Falls mehr als ein Datensatz gefunden wurde, wird der
' erste Datensatz angezeigt
txtName(0).Text = Rs.Fields("Name")
txtVorname(1).Text = Rs.Fields("Vorname")
txtTelefon(2).Text = Rs.Fields("Telefon")
' usw.
Else
MsgBox "Kein Datensatz mit dem Namen '" & sName & "' gefunden!"
End If
End If
Rs.Close
Set Rs = Nothing
End Sub
Private Sub Command1_Click(Index As Integer) ' Navigator
Dim e As Error
Dim bm As Variant ' Lesezeichen
On Error GoTo ADOError
With Rs
Select Case Index
Case 0: .MoveFirst ' |<
Case 1: .MovePrevious: If .BOF Then .MoveFirst ' <
Case 2: .MoveNext: If .EOF Then .MoveLast ' >
Case 3: .MoveLast ' >|
End Select
End With
Exit Sub
ADOError:
Beep
For Each e In conn.Errors
Debug.Print e.Description
Debug.Print e.NativeError
Debug.Print e.SQLState
Debug.Print e.Source
Next e
End Sub
Private Sub zurueck_Click() '------------------> das dürfte wohl
' richtig sein
Unload Me
End Sub 1000 Dank!!!!!
Gruß
Monika |