Access Button für Makroauswahl

Hallo,

In meinem Formular hab ich derzeit einen Button der eine bestimmte Wordvorlage öffnet und den Briefkopf und andere Spalten mit Werten aus der Datenbank füllt. Funktioniert auch super.

CODE:
Private Sub Wordbutton_Click()
'Start Microsoft Word.
Set objWord = CreateObject(„Word.Application“)
With objWord
'Make the application visible.
objWord.Visible = True
'Open the document.
objWord.Documents.Open („F:\db1\db_solve.dot“)
'Move to each bookmark and insert text from the form.
.ActiveDocument.Bookmarks(„Anrede“).Select
.Selection.Text = Me!Anrede
.ActiveDocument.Bookmarks(„Vorname“).Select
.Selection.Text = Me!Vorname
.ActiveDocument.Bookmarks(„Name“).Select
.Selection.Text = Me!Name
.ActiveDocument.Bookmarks(„Name2“).Select
.Selection.Text = Me!Name
.ActiveDocument.Bookmarks(„sn“).Select
.Selection.Text = Me!sn
.ActiveDocument.Bookmarks(„Kundennummer“).Select
.Selection.Text = Nz(Me!Kundennumemr)

End With
Set objWord = Nothing

End Sub

Mein Problem ist das ich ca. 10 unterschiedliche Wordvorlagen habe, auf die ich diese Funktion anwenden möchte (Mit meinem button kann ich ja nur eine öffnen). So eine Art DropdownButton gibt es wohl nicht?! Ich könnte alle 10 als Makro abspeichern und müsste dann nur einen Button hinbekommen, der das jeweilige Makro auswählt (dropdown?) und somit die gewünschte Wordvorlage öffnet.

Kann jemand helfen?

MFG

Access Button für Makroauswahl
Hallo Jasper,

grundsätzlich geht beides. Meine ganz persönlcihe Erfahrung ist jedoch, daß bei Wechsel von einer Access-Version auf die nächste, so z.B. 2003 auf 2007, die Variante mit 10 Makros und dann Dropdown-Liste oder besser einzelne Buttons die sichere ist. Will sagen, da hatte ich dann auch immer die volle, ungestörte Funktion im Anschluß an die Umstellung. Ansonsten gab es schon mal Probleme, die sich aber lösen ließen, jedoch halt mit Aufwand.

Schöne Grüße
Norbert

Hallo Herr Langewiesche,
Das freut mich zu hören. Könnten Sie mir vielleicht noch erläutern, wie ich den Button programmiere? Ich hab einfach keinen Schimmer, welchen Code ich verwenden soll um den „Makroauswahlbutton“ funktionstüchtig zu gestalten (mit oder ohne oder nur eine ComboBox, oder doch ein Button?!), da ich im VBA-Bereich relativ „neu“ bin.

PS. Es wird Access 2002 bleiben!

MfG

Hallo,

ja, du musst ein Formular (Dialog) erstellen, darin dein Drop-Down-Menü einbauen und den gewünschten Button.
Das alles kannst du mit Access machen, ist kein Problem.
Viel Spass

Irgendwie drücke ich mich falsch aus?! Das es geht ist mir bekannt und das Access das Unterstütz auch. Ein Formular existiert bereits.habe oben doch alles erklärt und meinen CODE hingeschrieben. Ich weis nicht wie der Code des oder der Elemente aussehen könnte. Es geht hier um das wie und nicht um „ja das geht, viel Spass“
Kann niemand ein CODE Beispiel auf Basis von meinem Code geben?

MFG

hm, ja, verstehe,
kannst du mir die Access-DB schicken dann ergänze ich das für dich
habe allerdings nur Access 2003
kein Vist
schicks an meine Mailadresse, musst mich anrufen dann sag ich dir die: 0049 (0) 1577 261 80 52

Hallo,

wenn die Wordvorlagen alle in dem gleichen Ordner sind würde ich es folgendermaßen machen
Kombinationsfeld im Formular anlegen mit Wertliste.
Hier nur die Namen deiner Vorlagen reinschreiben
Das Makro dann folgendermaßen anpassen

objWord.Documents.Open („F:\db1“ & Forms!DeinForm!DeinKombinationsfeld)

Wenn sich die Vorlagen in verschiedenen Ordnern befinden würde ich eine Tabelle mit den Vorlagen anlegen und darauf ein Kombinationsfeld erstellen.
Dann würde der Code so aussehen müssen

objWord.Documents.Open(Forms!DeinForm!DeinKombinationsfeld)

Dann brauchst du nur die Vorlage im Kombifeld auswählen und anschließend dein Makro starten

MFG

Erstmal einen Dank an Thomas für sein telefonische s Supportangebot! Das werde ich bei absoluter Dringlichkeit nutzen!

Auch ein riesen „Danke“ an Marco!

Das funktioniert schonmal super! Die Dateien sind alle im selben Ordner. Es wäre noch schön wenn ich im Kombinationsfeld anstatt „dateixy.dot“ zB. Auftragseingang oder so (also ein Alias für den Dateinamen)angeben könnte.

Derzeit steht der Dateiname dateixy.dot unschöner Weise im Kombinationsfeld :frowning:

Irgend eine Idee?

MFG

Hallo,

ich kann Deine Frage leider nicht beantworten.
Im Office-Forum findest Du sicherlich Hilfe.

www.office-loesung.de

Viele Grüße
Sven

Hallo,

dann formatier dein Kombifeld einfach 2-spaltig und schreib jeweils in die erste Spalte den Alias-Namen.
Und dann den Code einfach anpassen:

objWord.Documents.Open („F:\db1“ & Forms!DeinForm!DeinKombinationsfeld.Column(1))

MFG

Und wieder herzlichen Dank!

Funktioniert alles so wie ich es haben wollte. Jetz fehlt mir nur noch eine Funktion und mein Formular ist top! Ich hab mit dem Assistent einen „gehe zum nächsten Datensatz“ und einen „gehe zurück Button“ erstellt. Die Funktionieren auch wunderbar mit einer Einschränkung.
Im Formular sind mehrer Kombinationsfelder welche je nach Auswahl eine Textbox sichtbar schalten (für Notizen etc).

Wenn so ein Fenster aufpoppt und ich den Button (zum nächsten Datensatz) benutze ist es in dem näüchsten Datensatz immernoch offen obwohl im Kombinationsfeld von dem aktuell geöffneten Datensatz gar keine Auswahl getroffen wurde, d.h. das Ding sollte eigentlich verschwinden!
Das Formular behandelt alle Makros so,egal ob ich den Button benutze oder auch die ACCESS-Standart Schalflächen am Fuss des Formulars (kann man die eigentlich deaktivieren???) und das ist natürlich schlecht weil sie dann ja keinen Sinn ergeben :frowning:

Ich möchte also wenn ich die Buttons benutze das der nächste Datensatz aktualisiet wird und die Fenster wieder verschwinden und sämtliche Kombinationsfeld werte auf standartwert (hier also keine AUswahl) springen!

Ich hoffe es war irgendwie verständlich :smile:

Hier noch der Code vom „springe zum nächstenDatrensatz“ Button:

CODE:
Private Sub Save_Button_Click()
On Error GoTo Err_Save_Button_Click

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acNewRec

Exit_Save_Button_Click:
Exit Sub

Err_Save_Button_Click:
MsgBox Err.Description
Resume Exit_Save_Button_Click

End Sub

Kann ich das so anpassen,das der Button nach dem öffnen des nächsten Datersatzes die vorhanden Kriterien abfragt und auch die Makros überprüft oder vielleicht korrekt ausführt? Außerdem legt der Button immer einen Neuen Datensatz an wenn keiner mehr zur auswahl steht, das sollte auch unterbunden werden.

MFG

Zu deiner 1. Frage:
Die Navigationsschaltflächen des Formulars kann mann nicht deraktivieren aber ausblenden.
Im Formular einfach die Eigenschaft „Navigationsschaltflächen“ auf „Nein“ stellen.

Zur 2. Frage
Ich würde mir an deiner Stelle mal das Formular-Ereignis „Beim Anzeigen“ anschauen.
Dieses Ereignis tritt bei jedem Datensatzwechsel ein, d.h. du kannst an dieser Stelle z.B. prüfen
Wenn Feld X nicht leer da blende Feld Y ein, Makros ausführen etc.

MFG

sorry keine ahnung