Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Hpseel am Februar 02, 2026, 15:13:14

Titel: Makro Konvertierung "Neuer Mitarbeiter"
Beitrag von: Hpseel am Februar 02, 2026, 15:13:14
Hallo,
drei Fragen:

1. Könnte mir jemand das Makro "Neuer Mitarbeiter" aus der Nordwind-DB nach VBA konvertieren?
   (die Konvertierfunktion ist bei mir ausgegraut)
   (ich brauche es als VBA, um bestimmte Datenfelder im neuen Record vorzubesetzen)

2. Wofür sind im Makro die "Refresh" Aktionen?

3. Bekommt man mit DomMax die letzte gültige ID, oder die nächste freie?
   Wie kommt dann ggf. "+1" zustande für die nächste freie ID?

Schon mal vielen Dank !!!
Hps
   
Titel: Re: Makro Konvertierung "Neuer Mitarbeiter"
Beitrag von: Bitsqueezer am Februar 02, 2026, 16:18:58
Hallo,

normalerweise gibt es für alle Makro-Befehle ein Pendant in VBA per "DoCmd".
Du mußt also nur die einzelnen Befehle mit DoCmd und dem passenden (natürlich englischen) Namen aufrufen und kannst dort die gleichen Parameter verwenden. Mehr macht der VBA-Konvertierer auch nicht.

Ob das gerade "gutes" VBA ist, bezweifle ich zwar stark, aber so kannst Du jedes Makro konvertieren.

Der Code wird nicht gerade sehr lang sein, Du könntest dann auch gleich darüber nachdenken, das in "richtiges" VBA umzuwandeln. Es gibt natürlich Ausnahmen wie "DoCmd.OpenForm", was man i.d.R. so beläßt.

Gruß

Christian
Titel: Re: Makro Konvertierung "Neuer Mitarbeiter"
Beitrag von: werner budde am Februar 02, 2026, 16:29:11
Zitat von: Hpseel am Februar 02, 2026, 15:13:14Bekommt man mit DomMax die letzte gültige ID, oder die nächste freie?
   Wie kommt dann ggf. "+1" zustande für die nächste freie ID?

Dommax liefert den aktuell höchsten Wert.
Vorsicht: (Dieser + 1) ist ggf. nicht mehr frei!
Wenn das ID-Feld ein Autowert-Feld ist, kann es folgende Konstellation geben:
es wurden bereits allerneueste Datensätze wieder gelöscht, welche eine höhere ID hatten als der jetzt höchste. Die Autowert-ID's  gelöschter Datensätze werden nie wieder neu vergeben.
Titel: Re: Makro Konvertierung "Neuer Mitarbeiter"
Beitrag von: PhilS am Februar 02, 2026, 16:44:56
Zitat von: Hpseel am Februar 02, 2026, 15:13:141. Könnte mir jemand das Makro "Neuer Mitarbeiter" aus der Nordwind-DB nach VBA konvertieren?
  (die Konvertierfunktion ist bei mir ausgegraut)
Es gibt über die Jahre einige verschiedene Versionen der Nordwind-DB. In meiner sind keine Refresh-Aktionen im Makro, daher vermute ich, dass wir nicht von derselben Version reden.
Du kannst das Makro konvertieren, indem du ein neues Makro erstellst, dir den Katalog der Makro-Aktionen einblendest, darin das bestehende "Neuer Mitarbeiter"-Makros auswählst und dann "Kopie von Makro hinzufügen" aus dem Kontextmenü ausführtst.
Damit hast du die Aktionen des "Neuer Mitarbeiter"-Makros in deinem neuen Makro und kannst es nach VBA konvertieren. - Aber Vorsicht: Das ursprüngliche Makro lief im Kontext eines Formulars und der neue, konvertierte VBA-Code ist unabhängig in einem Modul. D.h. der erzeugte VBA-Code funktioniert u.U. nicht mehr so wie das ursprüngliche Makro. Das ist vermutlich auch der Grund, warum man diese Embedded Macros nicht konvertieren kann.

Zitat von: Hpseel am Februar 02, 2026, 15:13:142. Wofür sind im Makro die "Refresh" Aktionen?
Die gibt es bei mir nicht.

Zitat von: Hpseel am Februar 02, 2026, 15:13:143. Bekommt man mit DomMax die letzte gültige ID, oder die nächste freie?
  Wie kommt dann ggf. "+1" zustande für die nächste freie ID?
Alle Domänen-Aggregatfunktionen beziehen sich immer auf bestehende Daten.
Deine Frage zu +1 verstehe ich nicht.
Titel: Re: Makro Konvertierung "Neuer Mitarbeiter"
Beitrag von: Hpseel am Februar 02, 2026, 23:10:58
Vielen Dank für eure Hinweise!
Ich komme erst in den nächsten Tagen dazu, sie auszuprobieren.
Ich werde dann Bescheid geben.

VG Hps