Januar 18, 2022, 11:28:55

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Auswahl im Listenfeld gibt Fehler 3070

Begonnen von Christian5467, Januar 08, 2022, 17:42:40

⏪ vorheriges - nächstes ⏩

Christian5467

Januar 08, 2022, 17:42:40 Letzte Bearbeitung: Januar 08, 2022, 19:38:37 von MzKlMu
Hallo zusammen,

ich scheine mich leider sehr dumm anzustellen, leider komme ich nicht auf die Lösung.

Ich habe ein Formular, in welchem ich Mithilfe eines Listenfeldes [Auswahl] den Datensatz auswählen möchte, der im Formular angezeigt werden soll. Das Formular bezieht sich auf die Tabelle TArtikel. Der Primärschlüssel der Tabelle ist das Feld "MaterialID"
Das Formularfeld für die "MaterialID" heißt [MATID] und ist nicht sichtbar und nicht aktiviert.

Das Listenfeld hat als gebundenes Feld "MaterialID" aus der Tabelle. Das Formular soll jetzt den ausgewählten Datensatz anzeigen. Dafür habe ich folgenden Code von einer Microsoft Hilfeseite gefunden und angepasst:

Private Sub Auswahl_AfterUpdate()
Dim rs As Recordset
Set rs = Me.RecordsetClone
rs.FindFirst "MATID = " & Me!Auswahl
If Not rs.NoMatch Then
   Me.Bookmark = rs.Bookmark
End If
End Sub

Leider erhalte ich dabei immer die Fehlermeldung im Anhang. Wo habe ich da meinen Fehler?

Vielen Dank und Gruß
Christian

MzKlMu

Januar 08, 2022, 18:12:53 #1 Letzte Bearbeitung: Januar 08, 2022, 18:19:41 von MzKlMu
Hallo,
Du muss das Tabellenfeld (MaterialID) verwenden, nicht das Formularfeld.
Zitat von: undefinedDas Listenfeld hat als gebundenes Feld "MaterialID"
Ein Listenfeld zur Suche muss zwingend ungebunden sein, sonst veränderst Du ja Daten.
Private Sub Auswahl_AfterUpdate()
Dim rs As Recordset
Set rs = Me.RecordsetClone
rs.FindFirst "MaterialID = " & Me.Auswahl
   If Not rs.NoMatch Then
      Me.Bookmark = rs.Bookmark
   End If
End Sub
Die Einstellungen des Kombifeldes zur Auswahl sind auch wichtig.
Spaltenzahl: 2
Spaltenbreiten: 0cm;4cm
Gebundene Spalte: 1 (das hat nichts mit gebunden/ungebunden zu tun)
Die Abfrage für das Kombi muss dann als 1.Spalte die ID anzeigen, diese wird über die Spaltenbreite 0cm ausgeblendet.

PS:
Wenn Du auf Leerzeilen im Code verzichtest, wird das Codefenster kleiner und kommt dann meist ohne Bildlauf aus, was wünschenswert ist.
Gruß
Klaus

Christian5467

Vielen Dank.
Jetzt klappt es.
Das mit den Leerzeilen im Code merke ich mir. Danke.

Gruß
Christian

MzKlMu

Gruß
Klaus