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ß
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ß