Thema: VBA Datensatz
Klicke hier, um dich anzumelden
Du kannst aus dieser Liste ein Symbol für deine Nachricht auswählen.
Wenn du diese Option aktivierst, werden URLs automatisch mit BB-Code ergänzt. www.beispiel.de wird zu [URL]http://www.beispiel.de[/URL].
Wenn du möchtest, kannst du dieses Thema bewerten.
Also ich habe jetz schon etwas rausgefunden! Jetzt habe ich aber noch ein problem und zwar in der Zeile: .Open "Select * from Datensatz where (Auktionsnummer = lblnummer1)", conn, adOpenKeyset, adLockOptimistic Dort kommt immer eine Fehlermeldung, das kein Wert eingetragen wurde. aber unter lblnummer1 wird mir ein Wert ausgegeben. Und wenn ich für lblnummer1 z.b. 1000 eintrage funktioniert es auch ohne Fehler. Kann mir jemand sagen, woran das liegt??
Es kommt gar keine Fehlermeldung, es ist nur so, daß er die Daten immer in die erste Reihe der Tabelle schreibt und nicht in die Reihe, die ich gesucht habe!
Welcher Fehler kommt da, wenn ich Fragen darf?
Hi, also der Debugger meldet nichts, und das zweite und kann ich nicht weg nehmen, weil der Debugger dann nen Fehler meldet.
Starte mal den Debugger und sieh nach, ob er den Wert auch wirklich findet. Btw. für was ist das zweite & am Ende des Find-Kriteriums?
Hi Leute, ich habe nen kleinen bis mittelschweres Problem! Dazu muß ich sagen, ich bin kein Programmierer oder so, ich habe auch noch nicht sehr viel programmiert!! So nun zu meinem problem! Ich habe mit Access und VBA mir eine kleine Datenbank erstellen wollen. Habe dazu ein Formular erstellt, wo mann die Daten eingeben kann! Zu erst habe ich ein Label gemacht, wo man sie die Nummer(Primärschlussel) raussuchen kann. Danach kann man Name Straße usw eingeben! Wenn ich dann aber auf speichern klicke, schreibt er das immer in die oberste Zeile in meiner Tabelle, und nicht in die Zeile in welcher ich die Nummer gesucht habe! Es muß da noch irgendein Befehl oder so was geben? Ich habe es vielleicht etwas zu komplieziert geschrieben, aber vielleicht könnt ihr mir ja trotzdem helfen! Ich schreib meinen Quelltext von VBA einfach mal mit hier rein. Option Compare Database Option Explicit Private Sub cmdschl_Click() DoCmd.Close End Sub Ab hier soll er die Labels in den Datensatz speichern Private Sub cmdspeichern_Click() Dim rst As ADODB.Recordset Dim conn As ADODB.Connection Set conn = CurrentProject.Connection Set rst = New ADODB.Recordset Dim db As Database Dim rs As Recordset Dim Krit As String If IsNull(lblnummer1) Then MsgBox "Bitte Such-ID eingeben.", 64 lblartikel1.SetFocus Else Set db = CurrentDb() Set rs = db.OpenRecordset("Datensatz", dbOpenSnapshot) Krit = "Auktionsnummer='" & lblnummer1 & "'" rs.FindFirst Krit With rst .Open "Datensatz", conn, adOpenKeyset, adLockOptimistic .Fields("eBayName") = lblename .Fields("Name") = lblName .Fields("Straße") = lblstrasse .Fields("PLZ") = lblplz .Fields("Ort") = lblort .Fields("Gebot") = lblgebot .Fields("Porto") = lblporto .Fields("Gesamtpreis") = lblgesamt .Update .Close End With End If Set rst = Nothing Set conn = Nothing End Sub Ab hier sucht den Primärschlüssel und gibt die Daten aus der Tabelle an die Labels weiter Private Sub cmdsuchen_Click() On Error GoTo fehler Dim db As Database Dim rs As Recordset Dim Krit As String If IsNull(lblnummer1) Then MsgBox "Bitte Such-ID eingeben.", 64 lblartikel1.SetFocus Else Set db = CurrentDb() Set rs = db.OpenRecordset("Datensatz", dbOpenSnapshot) Krit = "Auktionsnummer='" & lblnummer1 & "'" rs.FindFirst Krit If rs.NoMatch Then MsgBox "Die von Ihnen eingegebene ID wurde in der Datenbank nicht gefunden.", 64, "http://www.access-home.de" Else lblartikel1 = rs!Artikel lblnummer1 = rs!Auktionsnummer lblename = rs!eBayName lblName = rs!Name lblstrasse = rs!Straße lblplz = rs!PLZ lblort = rs!Ort lblgebot = rs!Gebot lblporto = rs!Porto lblgesamt = rs!Gesamtpreis End If End If ende: Exit Sub fehler: MsgBox Err.Description Resume ende End Sub Private Sub lblgebot_BeforeUpdate(Cancel As Integer) Dim Gebot As Double, Porto As Double Gebot = lblgebot Porto = lblporto lblgesamt = Gebot + lblporto End Sub Private Sub cmddruck_Click() If lblporto > 4 Then On Error GoTo Err_cmddruck_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "Druck" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_cmddruck_Click: Exit Sub Err_cmddruck_Click: MsgBox Err.Description Resume Exit_cmddruck_Click Else On Error GoTo Err_cmddruck_Click Dim stDocName1 As String Dim stLinkCriteria1 As String stDocName1 = "Paeckchen" DoCmd.OpenForm stDocName1, , , stLinkCriteria1 Exit Sub MsgBox Err.Description Resume Exit_cmddruck_Click End If End Sub
Foren-Regeln