Hallo Ralf
Ein Kombinationsfeld besteht - wie der Name ja sagt -
eigentlich aus 2 Feldern: einem Textfeld und einem Listenfeld.
??? Das Textfeld dient der Beschriftung.
Nein, Du meinst wohl das „Bezeichnungsfeld“. Ich meine das Textfeld (das Feld, in dem Du einen Wert eingibst, oder in dem der aus dem Listenfeld ausgewählte Wert erscheint).
Rowsource und Requery wirken sich nur auf das Listenfeld aus,
im Textfeld geschieht nichts.
Wozu sollte das auch gut sein?
Ich habe Deine Frage so verstanden… aber bezogen auf das Textfeld.
Was zum Geier läuft da schief? Exakt die gleiche Strecke
fahre ich im Formular nebenan, dort tut es.
Wirklich „exakt die gleiche“? Würde mich wundern.
Mit anderen Daten, natürlich.
Ja nee, is klar
Aber keine anderen Eigenschaften oder doch vielleicht noch eine Zeile mehr Code in der entsprechenden Routine? Würde mich wirklich wundern.
Wenn ich in das Kombinationsfeld klicke, sehe ich die
Ergebnismenge, der gewählte Wert bleibt stehen.
Das ist das ganz normale Verhalten.
Pardon, da fehlt das einleitende Wörtchen „Erst…“. Ich würde
den ersten Wert aus der Trefferliste gerne gleich beim Load
resp. beim Change sehen.
Dies hast Du bis jetzt nirgendwo geschrieben, was Du eigentlich erwartest. Ich habe aber ähnliches vermutet.
Also nochmals: Du kannst die Rowsource so oft ändern wie Du willst und Requery machen, bis die CPU abraucht - im Textfeld (Teil des Kombinationsfeldes) tut sich NICHTS, das musst Du explizit programmieren. Z.B. den ersten Wert des Listenfeldes (so es denn mindestens einen Eintrag enthält!) dem Kombinationsfeld zuweisen.
Beispiel, Annahmen:
-
Kombinationsfeld hat Eigenschaft „Spaltenüberschriften“ auf „ja“
-
Gebundene Spalte ist 1 (Klasse)
-
Angezeigt werden soll Spalte 2 (Bezeichnung)
dann sähe das so aus:
Me!Klasse.Requery
Me!Klasse.SetFocus ’ Feld muss den Fokus haben! Kann je nach Situation auch entfallen.
If Me!Klasse.ListCount > 0 Then
Me!Klasse.Value = Me!Klasse.ItemData(1)
Me!Klasse.Text = Me!Klasse.Column(1, 1)
Else
Me!Klasse.Value = Null
Me!Klasse.Text = Null
End If
Das selbe für:
-
Kombinationsfeld hat Eigenschaft „Spaltenüberschriften“ auf „nein“
-
Gebundene Spalte ist 1 (Klasse)
-
Angezeigt werden soll Spalte 1 (Klasse)
dann sähe das so aus:
Me!Klasse.Requery
Me!Klasse.SetFocus ’ Feld muss den Fokus haben! Kann je nach Situation auch entfallen.
If Me!Klasse.ListCount > 0 Then
Me!Klasse.Value = Me!Klasse.ItemData(0)
Me!Klasse.Text = Me!Klasse.Column(0, 0)
Else
Me!Klasse.Value = Null
Me!Klasse.Text = Null
End If
Gruss
Peter