PDA

Vollständige Version anzeigen : GotoRecord-Methode


Kigo
07.05.2001, 15:27
Hi,

Ich möchte mit der Methode:
docmd.gotorecord ,,acnext
zum nächsten Datensatz springen. Im gleichen Formular funktioniert das, aber wie muß ich diese Methode anwenden, wenn ich die Formel im Hauptformular habe und im Unterformular einen Datensatz weiterspringen möchte?

Sascha Trowitzsch
07.05.2001, 16:57
Eine Möglichkeit:

Definiere im Unterformular eine Public Sub (z.B. 'NextRec') mit dem Befehl GotoRecord acNext. Rufe die dann aus dem Hauptformular auf:

Me.[Unterformular].Form.NextRec

Ciao, Sascha

Kigo
07.05.2001, 19:17
Vielen Dank Sascha!
Hab es gleich mal ausprobiert, aber Access springt nicht zum nächsten Artikel (eindeutig durch "ID" identifiziert) sondern direkt zum nächsten Auftrag (eindeutig durch "Lfd-Nr identifiziert").
Weißt Du oder irgendwer Rat?

WalterS
07.05.2001, 19:41
Über den RecordsetClone des U-Formulares funkt es!

Forms!DeinH_Form!Steuerelement_U_Form.form.recordsetclone.movenext

Forms!DeinH_Form!Steuerelement_U_Form.form.bookmark=Forms!DeinH_Form!Steuereleme nt_U_Form.form.recordsetclone.bookmark

(Ohne Fehlerbearbeitung für movenext)

WalterS
07.05.2001, 20:48
Recordsetclone?
Da man auf das Recordset nicht direkt zugreifen kann, nimmt man dafür den Recordsetclone. Dieser ist schnell und einfach wie ein Recordset zu handhaben.

Mit ohne Fehlerbehandlung für movenext habe ich gemeint, dass du auftretenden Fehler am Ende des Recordsets ( wenn kein movenext mehr möglich ist oder überhaupt kein Datensatz vorhanden ist) durch eine Fehlerbehandlungsroutine abfangen solltest.

Kigo
08.05.2001, 07:54
Also zu meiner Schande muß ich gestehen, daß es doch noch nicht vollständig klappt.
Ich habe die recordsetclone-Methode in einer Berechnungsschleife eingebunden: D.h., daß ich aus dem Hauptformular Berechnungen im Unterformular ausführen möchte (Beim Anzeigen) und dazu im Auftrag immer einen Artikel weiterspringen möchte. Grundsätzlich funktioniert die Recordsetclone-Methode, aber wenn ich zum nächsten Auftrag gehe erscheint: Laufzeitfehler 3020, Update oder CancelUpdate ohne AddNew oder Edit.
Weiß jemand Rat?

Kigo

Alexander Jan Peters
08.05.2001, 10:27
<font color="#000000" size="2" face="Tahoma">Hallo,

schau Dir doch mal die Datenbank an, die ich vor einiger Zeit für einen ähnlichen Beitrag ins Netz gestellt habe. Du findest sie unter
http://www.briefcase.yahoo.com/alexander_peters im Ordner Public/Beispiele.

Gruß

A.J. Peters

Empfehlenswerte Links:
<a href="http://www.donkarl.com">Access FAQ von Karl Donaubauer</a>
<a href="http://www.access-paradies.de/Links.htm">Access-Paradies Links</a></font>

Sascha Trowitzsch
08.05.2001, 16:40
Stelle immer wieder fest, dass RecordsetClone verwendet wird, obwohl man eben *doch* auf das Recordset direkt zugreifen kann. Ich bin mir jetzt nicht sicher, seit welcher Access-Version das existiert, aber in 2000 gibt es ganz einfach Me.Recordset. Der Clone benötigt nur unnötigen Overhead (Speicher, CPU-Zeit).
Eigetlich ist er doch dazu gedacht, eine Kopie des Recordsets anzulegen´und mit den Daten zu hantieren, ohne die Formulardaten zu beeinträchtigen, oder seh ich das falsch??

Ciao, Sascha