Combobox bei Sortierung - Wert wird geändert

  • Access

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Marie123.

    Combobox bei Sortierung - Wert wird geändert

    Hallo,
    ich habe ein Formular erstellt, es liegt eine Abfrage dahinter und es besteht eine Verbindung zu der SQL Server Management Studio.
    Es gibt mehrere gebundene Textfelder und 1 gebundene Combobox.
    Die Combobox soll als Suchfeld dienen.

    Eintrag in der Abfrage:
    ID Name
    1 NameA
    2 NameB
    3 NameC
    4 NameD

    Wenn ich auf die Combobox klicke, werden die s.o. sortiert angezeigt -> das passt.
    Klicke ich auf NameB, zeigt es mir zwar NameB in der Combobox an, aber in der Tabelle speichert er von NameA in das Feld Name: "2"
    Klicke ich dann auf NameD, zeigt es mir zwar NameD in der Combobox an, aber in der Tabelle speichert er von NameB in das Feld Name: "4"
    Wenn ich dann wieder auf NameB klicke, zeigt es mir "4" an
    -> der speichert offensichtlich immer die ID in den letzten Eintrag und ich weiß einfach nicht warum ?( .
    Ich kann die Combobox sperren, kann dann aber nichts mehr auswählen.
    Automatisch ergänzen = nein, macht auch keinen Unterschied.

    Hier der Code für den Klickevent, hatte den Code auch schon in AfterUpdate drin, mit dem gleichen Ergebnis.
    Private Sub cboSuchen_Click()
    Dim rst As Recordset
    Dim strSearchName As String
    Set rst = Me.RecordsetClone
    strSearchName = Str(Me!cboSuchen)
    rst.FindFirst "ID = " & strSearchName
    If rst.NoMatch Then
    MsgBox "Nicht gefunden"
    Else Me.Bookmark = rst.Bookmark
    End If
    rst.Close Refresh
    End Sub

    Ich habe es schon mit undo, refresh und sellength an verschiedenen Stellen probiert.
    Komischerweise zeigt er alle anderen Werte in den gebundenen Texten richtig an und verändert deren Wert nicht.

    Ich nehme an, dass ist nur eine Einstellungssache, aber was muss ich da ändern? Kann mir jemand helfen?
    Ach ja, Datensatzherkunft ist die Tabelle und Steuerelementinhalt ist der Name.

    Gruß
    Guten Morgen,
    weiss es denn wirklich niemand? Ich habe schon mehrere Formulare und noch mehr Comboboxen erstellt und habe immer am Ende dasselbe Problem. Ich komme aus dem C# und Java Bereich und lerne jetzt VBA.
    Meine Vorgehensweise:
    Ich erstelle zuerst ein leeres Formular, also ohne Assistenten. Dann füge ich aus den 2 Tabellen die Felder in das Formular, die ich brauche. Dann erstelle ich eine Abfrage mit einem join und füge diese bei dem Datensatzherkunft ein. Bei der Combobox (also das Suchfeld) wird auch dieselbe Abfrage hinterlegt und das Steuerelement ausgewählt. Da ich quasi das 3. Element aus der select-Anweisung brauche, ändere ich die Spaltenzahl auf "3" und die Breiten auf "0cm;0cm;3cm". Dann füge ich den Code s.o. ein.
    Was ist an der Vorgehensweise verkehrt?
    Kann das Suchfeld auch anders angelegt werden?
    Gruß