Hallo,
ich soll ein kleines Verleihprogramm schreiben,.
Da hier mit der Zeit größere Datenmengen anfallen können und es auch noch sehr kostengünstig sein soll, habe ich mich für die mysql-Datenbank entschieden.
Vorher habe ich nur mit Access-Datenbänke gearbeitet.
Und im Moment habe ich mit dem Zugriff auf die mysql-Datenbnk direkt ein paar Probleme.
Im Augenblick arbeite ich gerade an dem Kundenformular (Navigation), aber irgendwie scheint die MovePrevious-Methode nicht zu funktionieren.
Es kommt immer die Fehlermeldung, dass die Methode in diesem Zusammenhang nicht zulässig ist.
Mit den Methoden MoveFirst, MoveNext, MoveLast gibt es keine Probleme.
Vielleicht liegt es auch an den nächsten beiden Problemen.
Denn als AbsolutePosition und RecordCount bekomme ich immer negative Werte (-1).
Ich hoffe, dass mir jemand weiterhelfen kann.
Hier ist erst einmal der Code:
Dim sServer As String
Dim sUserName As String
Dim sPassword As String
Dim sDBName As String
Dim sConn As String
' Server name
sServer = "localhost"
' Benutzerdaten
sUserName = "Benutzer"
sPassword = "Passwort"
' Datenbank-Name
sDBName = "Datenbank"
sConn = "Provider=MSDASQL;DSN=mysql;Driver=MySQL;Server=" & sServer & _
";Database=" & sDBName
Set cnADO = New ADODB.Connection
cnADO.Open sConn, sUserName, sPassword Einlesen der Kundendaten:
Dim setKunden As ADODB.Recordset
Dim sqlKunden As String
Set setKunden = New ADODB.Recordset
sqlKunden = "SELECT * FROM kunden ORDER BY k_name"
On Error Resume Next
setKunden.Close
setKunden.Open sqlKunden, cnADO, adOpenKeyset, adLockPessimistic
On Error GoTo 0 Anzeigen der Kundendaten:
Sub Kundendaten_anzeigen()
txtKundenNr.Text = setKunden("id_kunden").Value
If setKunden("k_anrede").Value = "Herr" Then
cmbk_anrede.ListIndex = 1
Else
cmbk_anrede.ListIndex = 0
End If
cmbK_Name.Text = setKunden("k_name").Value
txtK_Strasse.Text = setKunden("k_strasse").Value
txtK_PLZ.Text = setKunden("k_plz").Value
txtK_Ort.Text = setKunden("k_ort").Value
txtK_Telefon.Text = setKunden("k_telefon").Value
txtK_Telefax.Text = setKunden("k_telefax").Value
txtK_email.Text = setKunden("k_email").Value
txtK_Geburtsdatum.Text = setKunden("k_geburtsdatum").Value
txtK_Bemerkungen.Text = setKunden("k_bemerkung").Value
End Sub Navigation:
Select Case Index
Case 1
setKunden.MovePrevious 'Fehlermeldung Laufzeitfehler 3219, Der
' Vorgang ist in diesem Zusammenhang nicht zulässig
Kundenfelder_leeren
Kundendaten_anzeigen
End Select Die Fehlermeldung erscheint immer, egal auf welchem Datensatz ich mich befinde.
Vielen Dank schon mal.
Heiko |