Hallo
Ich möchte die Makrofunktion kopieren von Access einsetzten. Das Makro wurde erstellt als ich eine neue Schaltfläche eingefügt habe. In einem Formular funktioniert dieses Makro einwandfrei. Es kopiert mir den aktuellen Datensatz und erstellt mir einen neuen. Bei einem anderen Formular funktioniert dieses Makro nicht. Es kommt folgende Fehlermeldung: Update oder CancelUpdate ohne AddNew oder Edit.
Kann mir jemand helfen.
Gruss Daniel
Hallo Daniel,
ohne das Marko zu sehen können wir hier nicht helfen sondern nur vermuten.
Wahrscheinlich ist im Makro ein Bezug auf das Formular und deshalb geht es im anderen Forular nicht.
Ist aber nur eine Vermutung.
Gruß
Johann
Hallo
Das Makro wird erstellt, wenn ich mit dem Befehlsschaltassistent eine neue Befehlsschaltfläche mache, ich wähle dabei folgende Aktion aus.
Datensatzoperationen und danach Datensatz duplizieren.
Gruss Daniel
Hallo,
vermutlich sind beide Formulare gleichzeitig geöffnet und die Kopiererei wird auf dieselbe Tabelle angewendet...
Sind die beiden Makros jeweils für sich und unabhängig voneinander erstellt worden?
"Bei einem anderen Formular funktioniert dieses Makro nicht."
erweckt den Anschein, als dass im "anderen" Formular lediglich das vorhandene Makro des "ersten" Formulares aufgerufen wird.
Hallo
Die Formulare und Tabelle sind unterschiedlich. Kundenstamm und Artikestamm. Die Makro's wurden unabhängig von einander erstellt. Die Makros hat mir der Schaltflächen Assisten von Access erstellt. Ich habe das Markro mehrmals neu erstellt. Meine Frage ist nun, könnte es daran liegen, dass ich 45 Felder kopiere. Im anderen Formular kopiere ich nur 11 Felder.
Gruss Daniel
Hallo,
"Meine Frage ist nun, könnte es daran liegen, dass ich 45 Felder kopiere"
Ja, es könnte.... :(
Sorry, mit solchen vagen Angaben und ohne das Makro gesehen zu haben, kann man keinen konkreten Ratschlag geben.
Es bewahrheitet sich auch hier:
-- Auf Makros verzichten.
-- Auf irgendwelche Assistenten verzichten, wenn man nicht weiß was die tun, bzw. deren Ergebnisse nicht korrigieren kann.
-- Warum wird überhaupt kopiert?
Hallo
Die Kopierfunktion soll dazu dienen, dass ich änliche Artikel kopiern kann und nicht 45 Felder erfassen muss, wenn ich einen neuen Artikel erfasse.
Kannst du mir einen Typ geben, wie ich 45 Felder kopieren soll.
Meine Idee ist es die Daten in einen Array zu schreiben, einen neuen Datensatz zu eröffnen und die Daten aus dem Array in Felde zu schreiben.
Für diesen Ansatz muss ich jedoch für jedes der 45 Felder eine Zeile schreiben, die mir den Wert in den Array schreibt für jedes 45 Felder eine Zeile schreiben, die mir den Wert in den neuen Datensatz schreibt. Ich kann mir vorstellen, dass es eine einfacher Variante gibt.
Gruss Daniel
Hallo,
ein Array ist hier völlig fehl am Platz. Eine einfache Anfügeabfrage sollte das ratz fatz erledigen.
Die Abfrage wird mit CurrentDb.Execute per VBA gestartet.
PS:
Eine Artikeltabelle die 45 Felder hat scheint mir auch etwas suspekt. Brauchst Du 45 Felder zur Beschreibung eines Artikels?
Und musst Du dann nach dem Kopieren alle 45 Felder ändern, oder bleiben einige gleich.
Hallo,
kann da Klaus nur zustimmen, und wenn wirklich "kopiert" werden muss, dann würde ich dieses Prinzip vorschlagen:
http://www.donkarl.com/?FAQ4.22