PDA

Vollständige Version anzeigen : Datensatzsuche


wirdnix
06.07.2006, 15:13
Hallo Access-Profis,

ich habe ein Formular mit einem UF als Endlosformular, beide mit der gleichen Datenquelle. Im Hauptform möchte ich Datensätze bearbeiten, die im UF per Klick ausgewählt werden. Ich benutze dazu bisher die Methode Open Form mit stLinkCriteria. Das klappt auch so ganz gut, bis zu dem Moment, wo ich im UF sortiere (OrerBy... und OrderByOn = True). Dann bleibt immer ein Datensatz stehen und im Hauptform wird der gewünschte DS nicht mehr angezeigt.

Gibt's eine elegantere Lösung, wie ich aus dem UF per Klick den gewünschten DS in den Hauptform bekomme?

Danke für die Tips,
wirdnix

Worf1001
06.07.2006, 15:21
Hallo,

ich kenne natürlich Dein Datenmodell nicht so genau. Aber ich würde es in der Syntax etwa so machen:


Dim strSQL As String

strSQL = "SELECT Feld1, Feld2, .... FROM Tabelle1 WHERE Feld1 = " & Me!SubForm1!Feldname & "'"

Me.RecordSource = strSQL


Ich würde als Kriterium die ID der zugehörigen Tabelle verwenden.

Lamerman
06.07.2006, 15:28
Wie sieht denn deine Datenquelle aus?

Du könntest per Recordset und der .find-methode die Daten aussuchen und in dein HF laden.

Gruß!

wirdnix
06.07.2006, 15:36
Hab' ich mit .find schon versucht, aber das funzt nur mit After_Update im Suchfeld. Ich habe im UF Endlosform einen unsichtbaren Button auf den DS gelegt, die ID ist die lfdNr. Wenn ich nun auf den DS klicke, soll "oben", also im HF die lfdNr gefunden werden und ich kann den DS bearbeiten.

Wie gesagt, das geht mit stLinkCriteria und Open_Form,,,stLinkCriteria bis ich sortiere.

Wie funktioniert denn der rs.Bookmark Befehl?

Anne Berg
06.07.2006, 20:12
Was hat das mit der lfdNr auf sich, haben die Datensätze eine eindeutige ID?

Dann verwende die Bookmark-Methode folgendermaßen:Dim RS As Recordset
Set Rs = Me.parent.Recordset.Clone
rs.FindFirst "ID=" me!ID
Me.parent.Bookmark = rs.Bookmark
rs.close