Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Recordset Datensatz finden

Begonnen von joschi50, Oktober 05, 2022, 14:46:22

⏪ vorheriges - nächstes ⏩

joschi50

Hallo,
ich habe ein Hauptformular (Turnier) mit einem Unterformular (Spielerliste).
Das Unterformular zeigt in Abhängigkeit zum Hauptformular die Spieler eines Turnieres an.
Nun möchte ich im Unterformular eine Schaltfläche "Spieler suchen" haben, die ein kleines Fenster öffnet in dem das Suchkriterium (Teil eines Namens) eingegeben werden kann.
Wenn das Suchkriterium quittiert wird, soll im Unterformular der erste Treffer angezeigt werden, der das Kriterium erfüllt.
Das zu durchsuchende Feld heißt "Spieler"
Da ich weiterhin alle Datensätze benötige scheidet eine Abfrage die die Spielerliste filtert aus.
Wie müsste die recordset.find Anweisung lauten oder geht das gar nicht ?

Jochen
Auch Wolkenkratzer haben mal als Keller angefangen.

PhilS

Zitat von: joschi50 am Oktober 05, 2022, 14:46:22Wie müsste die recordset.find Anweisung lauten oder geht das gar nicht ?
Schau dir doch mal die Dokumentation der DAO.Recordset.FindFirst-Methode an.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Beaker s.a.

Hallo,
@Philip
Die .FindFirst-Methode dürfte nicht das Problem sein. Das besteht
m.E. darin, dass das UFo nicht autom. scrollt, wenn ich mich recht
an andere Threads zum Thema erinnere.

@Jochen
Suche mal nach sowas wie "scrollen" oder "positionieren" im Unterterformular.

Vielleicht kennt Philip bessere Suchbegriffe, oder hat vielleicht schon einen
passenden Link parat.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

andyfau

Hallo,

was ist, wenn man einfach das Suchfeld in der Fußzeile des Unterformulars nutzt? (Wenn man die DB eh nur selbst nutzt).

Beste Grüße
Andreas
Beste Grüße
Andreas

joschi50

Ich hab mal einen Screenshot gemacht. Pink ist alles HF, grau ist UF.
Da man bei vielen Spielern nicht in der Liste suchen soll, wollte ich eine Suchfunktion einbauen.
Die Recordsetanweisung habe ich mir angesehen, weiß aber nicht wie ich das umgesetzt bekomme von einem kleinen Suchformular auf das UFo
Sie dürfen in diesem Board keine Dateianhänge sehen.
Auch Wolkenkratzer haben mal als Keller angefangen.

PhilS

Zitat von: Beaker s.a. am Oktober 05, 2022, 16:19:56Die .FindFirst-Methode dürfte nicht das Problem sein. Das besteht
m.E. darin, dass das UFo nicht autom. scrollt, wenn ich mich recht
an andere Threads zum Thema erinnere.

Ich wüsste nicht, warum das UFO nicht scrollen sollte.
Zitat aus der o.a. Dokumentation zu Recordset.FindFirst-Methode:

Zitat von: undefinedSucht den ersten Datensatz in einem Recordset-Objekt vom "dynaset"- oder "snapshot"-Typ, der die angegebenen Kriterien erfüllt, und macht den Datensatz zum aktuellen Datensatz (nur Microsoft Access-Arbeitsbereiche).
(Fettdruck und Unterstreichung von mir)


Wenn das nicht das Problem ist, sollte der Fragesteller sein Problem genauer beschreiben.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

ebs17

Me.Recordset.FindFirst strCriteriastrCriteria sollte einen gültigen Filter enthalten. Filtern hattest Du technisch ausgeschlossen, aber Du beherrschst es ja.

Das Scrollen im UFo wird ein wenig davon abhängen, welches Recordset genau man verwendet.
Mit freundlichem Glück Auf!

Eberhard

PhilS

Zitat von: joschi50 am Oktober 05, 2022, 16:30:26Die Recordsetanweisung habe ich mir angesehen, weiß aber nicht wie ich das umgesetzt bekomme von einem kleinen Suchformular auf das UFo
Das einzige, was nicht von der Beschreibung und dem Beispiel zu FindFirst abgedeckt wird, ist die Referenz auf dein Unterformular. Die sollte im Prinzip so aussehen:

Forms!DeinHauptFormular!DeinUfoSteuerelement.Form.Recordset.FindFirst "Spieler LIKE '*" & Sucheingabe &  "*'"
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

PhilS

Zitat von: ebs17 am Oktober 05, 2022, 16:42:34Das Scrollen im UFo wird ein wenig davon abhängen, welches Recordset genau man verwendet.
Wenn man im Recordset eines bestimmten Formulars suchen möchte, ist die Auswahl der möglichen Recordsets deutlich eingeschränkt. ;-)
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

joschi50

Phils,

wo steckt bitte der Fehler ?
Forms!Turniere!spielerliste.Form.Recordset.FindFirst "[Spieler] LIKE '*' & Paula & '*'"
Spielerliste ist der Name des Ufos und das Feld Spieler ist vorhanden.

Fehlermeldung: Microsoft Datenbankmodul erkennt "Spieler" nicht als gültigen Feldnamen oder Ausdruck.
Wenn ich die eckigen Klammern weg lasse ist es das selbe.
Auch Wolkenkratzer haben mal als Keller angefangen.

PhilS

Zitat von: joschi50 am Oktober 05, 2022, 17:31:53Fehlermeldung: Microsoft Datenbankmodul erkennt "Spieler" nicht als gültigen Feldnamen oder Ausdruck.
Dann lautet der Feldname anders als "Spieler". Es geht hier um den Feldnamen in der Tabelle oder Abfrage, die an das Unterformular als Datenherkunft gebunden ist, nicht um den Namen des Steuerelements im Formular.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

joschi50

Hat geklappt, ich hatte den Namen des Formulares und nicht der Tabelle drin.
Vielen Dank jetzt funktioniert es.
Auch Wolkenkratzer haben mal als Keller angefangen.

Beaker s.a.

Hallo Philip,
Unbestritten, aber ich war von einem Endlos-UFo ausgegangen, das
nicht hoch genug ist um alle DS anzuzeigen.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

PhilS

Zitat von: Beaker s.a. am Oktober 06, 2022, 12:33:14ich war von einem Endlos-UFo ausgegangen, das
nicht hoch genug ist um alle DS anzuzeigen.
Welchen Unterschied macht das? - Der aktuelle Datensatz sollte auch auch in diesem Fall angezeigt werden.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Beaker s.a.

@Philipp
ZitatDer aktuelle Datensatz sollte auch auch in diesem Fall angezeigt werden.
Vielleicht trügt mich auch meine Erinnerung, bin jetzt auch zu faul danach zu
suchen oder es zu testen. Diese sagt, dass es das Problem schon gab, - in einem
Endlos-Form wird natürlich der gefundene DS zum aktuellen und auch markiert, aber
wenn der sich ausserhalb des sichtbaren Bereichs befindet, muss man (manuell)
scrollen um das zu sehen.
Da sich aber herausgestellt hat, dass es sich hier um ein Einzelform dreht, ist für
mich hier jetzt EOT.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)