PDA

Vollständige Version anzeigen : Frage zum Makro-Generator


philippv3
29.09.2005, 08:02
Guten Morgen zusammen!

Habe eine Frage zum Makro-Generator. Ich habe in ein Formular einen Button integriert, der als Ereignis ein Makro ablaufen lässt.

Gibt es eine Möglichkeit, das Makro als VBA-Code anzusehen? Ich möchte nämlich eine Kleinigkeit beim Ablauf des Makros ändern, was sich im Makro-Generator selbst allerdings nicht umsetzen lässt.

rita2008
29.09.2005, 08:12
Hallo, ich habe leider hier nur Access2003 zur Verfügung. Dort kann man über Extras/Makro/zu Visual Basic konvertieren das Makro konvertieren lassen. Ich weiß nicht, ob es das bei Access2000 schon gab.

Wenn nicht: sieh Dir in der Online-Hilfe die jeweilige Aktion an. Dort steht meist auch die jeweilige Entsprechung in VBA.

mfg Rita

philippv3
29.09.2005, 08:18
Vielen Dank! :) :) :)

Die Konvertierung funktioniert auch mit Access 2000!

rita2008
29.09.2005, 08:52
Nachtrag: zum Thema Makros solltest Du Dir mal folgendes ansehen:

http://www.dbwiki.de/wiki.php?title=Access_Design:Makros_konvertieren

Aber Du bist ja eigentlich schon selbst darauf gekommen, dass Makros nicht sehr flexibel sind.

mfg Rita

philippv3
29.09.2005, 11:22
Mache sonst eigentlich auch alles mit VBA, nur bei meinem speziellen Problem kam ich nicht hinter die Lösung und dachte mir, über den Umweg "Makro erstellen - zu VBA konvertieren - aus VBA-Code lernen" könnte ich mir behelfen.

Aber vielleicht hat ja jemand eine Idee:
Ich möchte eine SQL-Abfrage direkt in Excel ausgeben und abspeichern.
Geht halt mit der Makro-Aktion "AusgabeIn" problemlos. Nur kann man so nicht die SQL-Abfrage bei der Ausführung durch einen Button auswählen, sondern muss sie schon im Makro selbst festlegen.

Habe mir daher gedacht, wenn ich das Makro erstelle und mir dann den enstprechenden VBA-Code ansehen, kann ich ja einfach noch eine Input-Box mit einbauen.

Bin für jede Hilfe dankbar!

Gruß Philipp

J_Eilers
29.09.2005, 11:45
Hi,

AusgabeIn == OutputTo oder auch ein DoCmd.TransferSpreadsheet. Beides findest du auch in der Hilfe. Die einfachste Möglichkeit wäre es, sich eine Abfragesyntax in VBA zu erstellen und sich eine DummyAbfrage zu erstellen, die man immer mit dem aktuellen SQL-Code überschreibt.

Dim qdf As DAO.QueryDef
Dim strSQL As String

strSQL = "SELECT * FROM Tabelle"
Set qdf = DBEngine(0)(0).QueryDefs("DummyAbfrage")
qdf.SQL = strSQL
Set qdf = Nothing

'Dann Ausgabe in Excel

Dabei muss die Abfrage bereits bestehen.

philippv3
29.09.2005, 11:56
Vielen Dank Jan!

Ist ein guter Lösungsansatz, den ich einmal testen werde.

Gäbe es denn auch eine Möglichkeit, hier nur auf eine fertige Abfrage zu verweisen, bzw. eine auszuwählen?

Nouba
29.09.2005, 11:58
@ philippv3

Crosspostings sieht man in diesem Forum nicht so gerne.

J_Eilers
29.09.2005, 13:48
Set qdf = DBEngine(0)(0).QueryDefs("DummyAbfrage")

Dort wo DummyAbfrage steht, einfach den Namen deiner Abfrage eingeben.

philippv3
30.09.2005, 12:07
Vielen Dank, werde das alles mal ausprobieren!