PDA

Vollständige Version anzeigen : Focus aufs Feld setzen über Set RS = Me.RecordsetClone


KlTroe
08.07.2006, 07:54
Hallo,

sogar am heiligen Samstag gibt´s Probleme …
In einem Endlosformular möchte ich alle Datensätze durchlaufen über RecordsetClone. Das klappt soweit, jedoch soll bei jedem Datensatz das Feld1 den Focus erhalten und markiert sein. Ich hab mit „DoCmd.GoToControl "Feld1" herumexperimentiert – klappt nicht.
Hat jemand eine Idee?

Vielen Dank!
Gruß
Klaus


Dim RS As DAO.Recordset

Set RS = Me.RecordsetClone
RS.MoveFirst
DoCmd.GoToControl "Feld1"

Do Until RS.EOF

DoCmd.GoToControl "Feld1"
MsgBox RS!Feld1
RS.MoveNext

Loop

Beere
08.07.2006, 09:11
Das Recordset ist doch nur ein Abbild der DS im Formular. Du müsstest vielleicht in das Formular den Focus setzen und dann die DS durchlaufen...

mfg
Beere

JörgG
08.07.2006, 10:15
Hallo Klaus,

die Schleife sollte wohl besser so aussehen:
RS.MoveFirst
DoCmd.GoToRecord , , acFirst
Do Until RS.EOF
DoCmd.GoToRecord , , acNext
Me!Feld1.SetFocus
'DoEvents 'evtl erforderlich = ausprobieren
MsgBox RS!Feld1
RS.MoveNext
Loop
Bedenke bitte, dass sich das Fokusieren äusserst negativ auf die Verarbeitungsgeschwindigkeit auswirkt, für viele DS eher ungeeignet. :p

Arne Dieckmann
08.07.2006, 10:17
Der Sinn erschliesst sich mir auch nicht. Das Durchlaufen sollte doch einigermassen schnell verlaufen, sodass man den Fokus kaum verfolgen kann.

Also: Wozu brauchst du unbedingt den Fokus auf FeldX?

KlTroe
08.07.2006, 11:50
Hi, Beere, JörgG und Arne,

vielen Dank für Eure Ideen.
Der Beitrag von Jörg ist meine gesuchte Lösung (DoCmd.GoToRecord , , acNext und RS.MoveNext zusammen verwenden)
Der tiefere Sinn liegt darin, das durch das "Durchlaufen" aller Datensätze bei bestimmten Datensätzen angehalten wird, um den Feldwert aus Feld1 in einem anderen Textfeld (Zoomfenster vergrößert anzuzeigen).

Habt ein schönes Wochenende!
Gruß

Klaus