Halllo, mein Problem ist das ich mit meinem Eingegebenen Code immer den Laufzeitfehler 91 bekomme. In einer anderen DB läuft es mit dem Code.
Private Sub Kombinationsfeld1_AfterUpdate()
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[SchadenID] = " & Str(Nz(Me![Kombinationsfeld1], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
Me.Kombinationsfeld1.SetFocus
End Sub
Hallo,
jetzt müsste man wissen was die Fehlernummer 91 ist. >:(
Objektvariable oder With-Blockvariable nicht festgelegt
Hallo,
Wird denn auch die Zeile markiert, in der der Fehler auftritt?
Versuche mal deinen RS als DAO.Recordset zu deklarieren.
Dim rs As DAO.Recordset
gruss ekkehard
Der gleiche Fehler,
markiert wird die Zeile: Set rs = Me.Recordset.clone
Gruß
Micha
ohne Punkt
ZitatSet rs = Me.RecordsetClone
Ohne Punkt kommt die Fehlermeldung 7951: Sie haben einen Ausdruck eingegeben, der einen ungültigen Verweis auf die RecordsetClone-Eigenschaft enthält.
Hallo,
der Punkt ist schon richtig.
Welcher Datentyp ist denn "SchadenID" in der Tabelle ?
AutoWert
Hallo,
füge mal eine MsgBox ein und kontrolliere den Wert des Kombis
Private Sub Kombinationsfeld1_AfterUpdate()
Dim rs As Object
MsgBox Me.[Kombinationsfeld1] 'Zeile später wieder löschen
Set rs = Me.Recordset.Clone
rs.FindFirst "[SchadenID] = " & Me.[Kombinationsfeld1]
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
Me.Kombinationsfeld1.SetFocus
End Sub
Den Schnikschnack um das Kombi habe ich entfernt, hat aber mit dem Fehler nichts zu tun.
Er gibt mir den Wert zurück den ich im Kombinationfeld eingegeben habe
Gruß
Micha
Hallo,
ich habe jetzt keine Idee mehr.
Mache das Formular mit dem Kombi noch mal neu, nur mit dem was unbedingt nötig ist.
Danke für Deine Mühe 8)
Gruß
Micha
Um andere Fehler auszuschließen, kommentiert man den Code aus.
PS: prüfe auch einmal die Verweise.
Habe das jetzt anderst gelöst die Daten in das Formular zubekommen.
Jetzt gibt es ein neues Problem. Wenn ich die daten geändert habe, dann ändert er mir immer nur den ersten Datensatz, nicht den er soll.
Was mache ich falsch??????? hier der Code:
Private Sub TPSÄndern_Click()
Dim db As DAO.Database
Dim tb As DAO.Recordset
Dim strSQL As String
Set db = CurrentDb
Set tb = db.OpenRecordset("tblSchaden", Kombinationsfeld1)
If Not tb.Updatable Then Exit Sub
tb.Edit
tb!TagebuchNr = TagebuchNr.Value
tb!Intern_Extern = KombiKostenträger.Value
tb!LS_Datum = LSDatum.Value
tb!Lieferant = KombiLieferant.Value
tb!Lieferschein = LieferscheinNr.Value
tb!Sachnummer = KombiTeil.Value
tb!Bezeichnung = KombiBezeichnung.Value
tb!BehälterAnzahl = AnzahlBehälter.Value
tb!StückProBehälter = Stückzahl.Value
tb!StückzahlGesamt = StückzahlGesamt.Value
tb!PreisProStück = StückPreis.Value
tb!NioTeile = NioTeile.Value
tb!SortierKosten = SortierKosten.Value
tb!VerschrottungsKosten = VerschrottungsKosten.Value
tb!GesamtKosten = GesamtKosten.Value
tb!Verb_Kst = KombiVerbauende.Value
tb!Schadenshergang = KombiHergang.Value
tb!AnsprechPartnerQS = MAQS.Value
tb!Bearbeitungsstatus = KombiStatus.Value
tb!BemerkungsFeld = Bemerkungen.Value
tb.Update
tb.Close
Set tb = Nothing
db.Close
Set db = Nothing
End Sub
Hallo,
schaue Dir mal den Befehl OpenRecordset in der Hilfe (F1) an. Damit kann man nicht auf einen Datensatz positionieren. Der 2.Parameter (den Du mit dem Kombi angibst) gibt den Typ des Recordsets an.
Du musst mit FindFirst erst auf den passenden Datensatz positionieren, erst dann kannst Du Werte schreiben. So wie das jetzt ist, wird immer der 1.DS gefüllt/geändert.
Sorry, aber das ist doch Krampf, so wie Du das jetzt vorhast. Dazu muss auch das Formular ungebunden sein.
Was hast Du mit dem Kombi überhaupt vor ?
Diend das dem Suchen einen Datensatzes und dann ?
Erkläre das Vorhaben mal in Gänze.
Oder erstelle ein Beispiel mit dem Problem und lade das hier hoch. Dann ist das schnell geklärt.