Datensatz duplizieren, Problem bei Formular mit Kombinationsfeld, und bei Me.RecordSource

12/12/2010 - 07:12 von Meyer | Report spam
Hallo!

Access (XP) scheint ein Problem mit dem Duplizieren von Datensàtzen
von einem Formular aus zu haben, wenn sich darauf ein Kombinationsfeld
befindet.

(Duplizieren über Menü 'Bearbeiten' oder die entsprechenden drei VBA-
Befehle.)

Das Formular springt dann nicht richtig zum letzten, gerade
angehàngten duplizierten Datensatz (welcher normal dann "dirty"
dasteht), sondern hàngt quasi am Kombinationsfeld des Quelldatensatzes
fest (zu sehen, wenn man die Objekt-Eigenschaften auch in der
Formularansicht offen hat [Bearbeitung erlauben]).
Also die Datensatznummer in der Navigationsleiste (Me.Current) steht
schon auf dem letzten (duplizierten) Datensatz, das Formular zeigt
aber noch den Original-Datensatz (der dupliziert wurde).
Trotzdem ist der letzte (duplizierte) Datensatz noch ungespeichert.
Das Speichern erfolgt erst nach dem Weiternavigieren.

Kennt jemand da eine Lösung?


Ein àhnliches Problem ergibt sich, wenn man im Formularkopf ein
Kombinationsfeld hat, welches die DatenSource des Formulars wechselt/
filtert, also welches "Nach Aktualisierung" ein Me.RecordSource "SELECT..." ausführt (statt der in den Formular-Eigenschaften
gespeicherten Abfrage).
Dieses "Nach Aktualisierung" des Filter-Kombinationsfeldes wird wohl
auch beim Duplizieren ausgeführt, obwohl der Inhalt sich nicht
geàndert hat. (Vermutlich weil zu einem anderen Datensatz gesprungen
wird - was man aber wegen des Hàngens am Kombinationsfeld [s.o.] nicht
sieht.)

Seltsam...

Kennt jemand da eine Lösung?


Danke!
 

Lesen sie die antworten

#1 Karl Donaubauer
14/12/2010 - 21:28 | Warnen spam
Meyer wrote:
Access (XP) scheint ein Problem mit dem Duplizieren von Datensàtzen
von einem Formular aus zu haben, wenn sich darauf ein Kombinationsfeld
befindet.

(Duplizieren über Menü 'Bearbeiten' oder die entsprechenden drei VBA-
Befehle.)

Das Formular springt dann nicht richtig zum letzten, gerade
angehàngten duplizierten Datensatz (welcher normal dann "dirty"
dasteht), sondern hàngt quasi am Kombinationsfeld des Quelldatensatzes
fest (zu sehen, wenn man die Objekt-Eigenschaften auch in der
Formularansicht offen hat [Bearbeitung erlauben]).
Also die Datensatznummer in der Navigationsleiste (Me.Current) steht
schon auf dem letzten (duplizierten) Datensatz, das Formular zeigt
aber noch den Original-Datensatz (der dupliziert wurde).
Trotzdem ist der letzte (duplizierte) Datensatz noch ungespeichert.
Das Speichern erfolgt erst nach dem Weiternavigieren.

Kennt jemand da eine Lösung?

Ein àhnliches Problem ergibt sich, wenn man im Formularkopf ein
Kombinationsfeld hat, welches die DatenSource des Formulars wechselt/
filtert, also welches "Nach Aktualisierung" ein Me.RecordSource > "SELECT..." ausführt (statt der in den Formular-Eigenschaften
gespeicherten Abfrage).
Dieses "Nach Aktualisierung" des Filter-Kombinationsfeldes wird wohl
auch beim Duplizieren ausgeführt, obwohl der Inhalt sich nicht
geàndert hat. (Vermutlich weil zu einem anderen Datensatz gesprungen
wird - was man aber wegen des Hàngens am Kombinationsfeld [s.o.] nicht
sieht.)

Seltsam...

Kennt jemand da eine Lösung?



Zuvor müsste einem klar sein, was du meinst. ;-)
Angesichts der zahlreichen Antworten bisher bin ich wohl nicht
der einzige, der deine Schilderung nicht versteht.

Du solltest explizit schreiben, mit welchen Menübefehlen du den
DS duplizierst und schildern, wo der Cursor steht, wenn du die
Menübefehle ausführst, und ob das eine Rolle spielt.
Die verwendeten 3 Codezeilen könntest du hier rein kopieren und
das verwendete Ereignis nennen.

Dann versteht man vielleicht besser oder kann sogar nachvollziehen,
was du mit dem "Hàngen" meinst. Bei meinen Versuchen (zwar mit A03),
ist mir das nicht gelungen. Aber vermutlich mache ich aufgrund der
fehlenden Details auch etwas anders.

Beim zweiten geschilderten Problemfall ist für mich noch weniger klar,
was nun bei dir passiert oder nicht passiert. "Hàngenbleiben" würde
voraussetzen, dass irgendein Sprungbefehl nicht befolgt wird, oder?
Wenn ja, welcher?
Wenn nein, gibt es keine Veranlassung für Access, den Kopfbereich
zu verlassen.

Servus
Karl
****************
http://www.donkarl.com Access-FAQ
4. SQL Server-Entwickler-Konferenz, 12./13.2.2011, Nürnberg

Ähnliche fragen