Access VBA-Code "Wert setzen"

2 Antworten

Ich habe das jetzt nur oberflächlich angesehen, aber es gab zumindest in früheren Access-Versionen die Funktion, ein Makro in VB-Code umwandeln zu lassen. Und das hat erstaunlich gut funktioniert, also da kam recht schlanker, sauberer Code heraus. Habe es zwar sehr selten benutzt, weil ich nie wirklich mit Makros gearbeitet habe, aber die paar Male lief das solide.

Und die Funktion war früher zumindest auch sehr leicht zu finden, da brauchte man nicht wirklich zu suchen.

Wenn Du erstmal den Code siehst, der da generiert wurde, hast Du auch den perfekten EInstieg, das noch nach Deinen Wünschen anzupassen.

R34p3r443 
Fragesteller
 03.07.2013, 14:19

Das mit dem konvertieren habe ich schon probiert, aber leider funktioniert dieser nicht, da meckert er rum, dass es das eine formular nicht gäbe^^

0
micmen  03.07.2013, 15:26
@R34p3r443

Hat das Formular (oder das relevante Feld) vielleicht eine Bezeichnung, die Leerzeichen, Umlaute oder andere Sonderzeichen enthält, oder eine Bezeichnung, die bereits von Microsoft für etwas verwendet wird? Ist z.B. eine ganz schlechte Idee, ein Tabellenfeld, in das ein Name eingetragen werden soll, "Name" zu nennen... Fast alles in Access hat eine Name-Eigenschaft und früher oder später hat man einen "unerklärlichen" Fehler, weil der Feldname falsch interpretiert wird.

Und wann tritt der Fehler auf: Schon beim Konvertieren (wird gar kein Code generiert?) oder erst, wenn man den generierten Code aufruft?

0
CholoAleman  03.07.2013, 18:44
@R34p3r443

Hallo,

na den Fehler kannst Du doch einfach beheben indem Du in den Makros nach dem Formular suchst das es nicht gibt. Und Micmens Kommentar beachten, keine reservierten Wörter für Variablen, Felder oder Formulare verwenden!

0
VBA statt MAKRO - so geht's !!!!
  1. Gehe ins Datenbankfenster ...
  2. suche das Makro aus, in dem Dein SetzenWert-Makro definiert ist ...
  3. klicke mit der rechten Maustaste drauf und wähle "Speichern als Modul"
  4. wähle einen bezeichnenden Namen (ohne Leerschritte oder Umlaute) aus
  5. das Makro (mit all seinen Befehlszeilen) wird dann in VBA umgewandelt
  6. jetzt kannst Du das betreffende Formular öffnen,
  7. Dein Steuerelement mit Makro-Aktion auswählen ...
  8. und als Ereignisprozedur die VBA-Funktion aus dem Modul zuordnen

Du kannst die betreffenden Codezeilen aus VBA auch kopieren und in ein extra Access-Modul hineinkopieren und abspeichern ... muss aber nicht sein.

Gruß, Bernd.   ;-)