Access 97 Listfeld durchsuchen

Hallo,
ich habe ein Listfeld (das durch eine Tabelle/Abfrage gefüttert wird),
ein Textfeld und einen Button.
Ich möchte jetzt zum einen durch Auswahl mit der Maus den Focus
in dem Listfeld auf einen Datensatz meiner Wahl bringen,

UND ZUSÄTZLICH möchte ich in dem o.g. Textfeld einen Suchbegriff
eingeben, der dann durch Klick auf den Button in dem Listfeld den
Focus erhält !!!

Hat jemand Ahnung wie man das hinbekommt ???
Jeder Hinweis wird dankend weiterverfolgt…

Gruß
Lossi

So ganz verstehe ich dein Anliegen nicht…

Hallo,
ich habe ein Listfeld (das durch eine
Tabelle/Abfrage gefüttert wird),
ein Textfeld und einen Button.
Ich möchte jetzt zum einen durch Auswahl
mit der Maus den Focus
in dem Listfeld auf einen Datensatz
meiner Wahl bringen,

Ja, das kannst du machen - aber das ist doch die normale Funktionalität…

UND ZUSÄTZLICH möchte ich in dem o.g.
Textfeld einen Suchbegriff
eingeben, der dann durch Klick auf den
Button in dem Listfeld den
Focus erhält !!!

Willst du den Suchbegriff eingeben (also vom Benutzer eingeben lassen) oder per Button-Klick aus dem Listenfeld heraus erzeugen?

Was soll bzw. muss geschehen, damit dann was im Textfeld steht?

Reinhard

Ich habe so ein ähnliches Problem:
Die Funktionalität, die er meint, ist sicherlich zu vergleichen mit der des Adressbuches von Outlook. Da kannst du in einer Editbox anfangen einen Namen zu schreiben, und der Cursor positioniert in dem Listenfeld darunter auf den entsprechenden Eintrag. Wie man so etwas mit Access realisiert, weiß ich auch noch nicht.

cu
raiko

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich habe so ein ähnliches Problem:
Die Funktionalität, die er meint, ist
sicherlich zu vergleichen mit der des
Adressbuches von Outlook. Da kannst du in
einer Editbox anfangen einen Namen zu
schreiben, und der Cursor positioniert in
dem Listenfeld darunter auf den
entsprechenden Eintrag. Wie man so etwas
mit Access realisiert, weiß ich auch noch
nicht.

Das, was du dir vorstellst geht über das Setzen des „Selected“-Attributes:

Private Sub Suchfeld\_KeyUp(KeyCode As Integer, Shift As Integer)
Dim Tmp, CmpV, I As Long
 CmpV = Me!Suchfeld.Text
 If Not IsNull(CmpV) Then
 For I = 1 To MeinListenfeld.ListCount
 ' die Spaltennummer hängt vom Aufbau deines Listenfelds ab:
 Tmp = Me!MeinListenfeld.Column(2, I)
 If Not IsNull(Tmp) Then
 Me!MeinListenfeld.Selected(I) = (Mid(Tmp, 1, Len(CmpV)) = CmpV)
 End If
 Next I
 End If
End Sub

Ansonsten: Solche „Gadgets“ sind natürlich ziemliche Performance-Killer - ich würde daher davon abraten. Spätestens bei größeren Datenmengen geht die Sache in die Hose. (Das gilt aber auch für Listen- bzw. Kombifelder ganz allgemein…)

Reinhard

Ist es nicht einfacher, statt eines Listenfeldes plus eines Textfeldes plus Programmcode ein Kombinationsfeld zu verwenden und die Eigenschaft ‚Automatisch ergänzen‘ auf ja zu setzen?

Harald

Das, was du dir vorstellst geht über das
Setzen des „Selected“-Attributes:

Private Sub Suchfeld_KeyUp(KeyCode As
Integer, Shift As Integer)
Dim Tmp, CmpV, I As Long
CmpV = Me!Suchfeld.Text
If Not IsNull(CmpV) Then
For I = 1 To MeinListenfeld.ListCount
’ die Spaltennummer hängt vom
Aufbau deines Listenfelds ab:
Tmp = Me!MeinListenfeld.Column(2,
I)
If Not IsNull(Tmp) Then
Me!MeinListenfeld.Selected(I) =
(Mid(Tmp, 1, Len(CmpV)) = CmpV)
End If
Next I
End If
End Sub

Ansonsten: Solche „Gadgets“ sind
natürlich ziemliche Performance-Killer -
ich würde daher davon abraten. Spätestens
bei größeren Datenmengen geht die Sache
in die Hose. (Das gilt aber auch für
Listen- bzw. Kombifelder ganz
allgemein…)

Reinhard

Ist es nicht einfacher, statt eines
Listenfeldes plus eines Textfeldes plus
Programmcode ein Kombinationsfeld zu
verwenden und die Eigenschaft
‚Automatisch ergänzen‘ auf ja zu setzen?

Weil du die Frage an mich richtest: Sicher!
Wie gesagt - ich schätze so etwas als „Gadget“ (oder schärfer formuliert: als Blendwerkprogrammierung) und damit als entbehrlich ein. (Das Kombinationsfeld als solches kann schon Probleme genug bereiten…)

Reinhard

Sicher ist das richtig. Aber erlär das mal einen Kunden, der das unbedingt so haben will!! Und die können manchmal ziemlich stur sein…

raiko

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Sicher ist das richtig. Aber erlär das
mal einen Kunden, der das unbedingt so
haben will!! Und die können manchmal
ziemlich stur sein…

Ja, das kenne ich auch, und leider ist die Welt voll derartiger verspielter Designs , Vergewaltigungen der Benutzeroberfläche und anderer schlechter Beispiele. Und manche Leute es ja auch noch toll, wenn jedes Programm seine eigene Oberfläche und seine eigene Bedienbarkeit mitbringt. (Ich sag nur: Kai Krause! [Friede seiner Asche])

Reinhard