Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Bericht speichern mit Pfadvorauswahl und Speichern Dialog

Begonnen von Sam, Januar 27, 2016, 10:02:16

⏪ vorheriges - nächstes ⏩

Sam

Hallo zusammen
Ich komme hier nicht weiter. Ich möchte einen Bericht abspeichern und dabei den Dateinamen anpassen und den Pfad entweder offen lassen oder eine Vorauswahl anzeigen, aber das Dialogfeld "Speichern unter" soll angezeigt werden.
Automatisch speichern ohne Dialog und mit gewähltem Pfad geht. Aber ohne Pfad oder, dass das Dialogfenster angezeigt wird bringe ich nicht hin. Ich habe lange gesucht aber keine Lösung für Access 2013 gefunden. Mein aktueller Code speichert automatisch.

Private Sub savereport_Click()
DoCmd.OpenReport "Bericht", acViewPreview, , , acHidden

DoCmd.OutputTo acOutputReport, "Bericht", acFormatPDF, "\\...\...\0_Work\02_Planing\" & Reports![Bericht].Caption & ".pdf"
DoCmd.Close acReport, "Bericht"

End Sub


Weiss da jemand eine einfache Lösung?   Perfekt wäre, wenn der Speicherort ein Sharelaufwerk wäre, aber das lässt Access nicht zu, da dies nur über eine URL geht.

LG

MaggieMay

Hallo,

die Suche nach "Datei-Speichern-Dialog" (evtl. noch mit dem Zusatz "VBA" und "Access") sollte dir eigentlich weiterhelfen können.
Freundliche Grüße
MaggieMay

Sam

#2
Ich habe einiges gefunden, aber nicht für Access. Nur diesen Code, aber bei diesem stürzt mir Access immer ab:
Private Sub savereport_Click()
Dim sB As FileDialog

Set sB = Application.FileDialog(2)
With sB
.InitialView = msoFileDialogViewList
.InitialFileName = "\\Pfad\" & Reports![Bericht].Caption & ".pdf"
'.FilterIndex = 2  / Funktioniert nicht
.Show
.Execute
End With
End Sub

DF6GL

Hallo,

vermutlich fehlt der Verweis auf die Microsoft-Office xx Library

(VBA-Editor/Extras/Verweise)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MaggieMay

Und wobei stürzt Access ab (komplett?!) und mit welcher Fehlermeldung?

Schau dir doch einfach mal die Methoden des FileDialog-Objekts und deren Syntax in der Hilfe an, ehe du blind herumprobierst.

Beispiel:
Zitat'Add a filter that includes GIF and JPEG images and make it the second item in the list.
        .Filters.Add "Images", "*.gif; *.jpg; *.jpeg", 2

        'Sets the initial file filter to number 2.
        .FilterIndex = 2
-->> ohne Filter gibt's auch keinen gültigen Index!
Freundliche Grüße
MaggieMay

Sam

Ja, Access stürzt komplett ab, mit der angehängten Meldung. Der Verweis auf die Office 15 Library ist gesetzt.
Den Filter habe ich jetzt weggelassen, da mit der Vorauswahl sowieso nur im PDF Format gespeichert wird.

MaggieMay

ZitatDen Filter habe ich jetzt weggelassen,
Und dann läuft's?

Und naja, du hattest ja wie gesagt gar keinen gesetzt...
Freundliche Grüße
MaggieMay

Sam

Nein, dann stürzt es auch ab, sobald ich auf den Button "Speichern" klicke.

MaggieMay

Wie steht's denn mit deinem Office, ist das auf dem neuesten Stand?

Und lässt sich der Code fehlerfrei kompilieren?

An welcher Stelle genau erfolgt denn der Absturz? Teste das mal im Unterbrechungsmodus.
Freundliche Grüße
MaggieMay

Sam

Es ist das Office der Firma, ich denke es ist aktuell...  Es scheitert beim .Execute. Beim Kompilieren gibt es keine Fehler.

MaggieMay

Ich habe das bislang übersehen, was denkst du denn, was beim "Execute" ausgeführt werden soll? Der Dateiauswahldialog sollte durch "Show" gestartet werden, aber davon hast du gar nichts erwähnt.

Normalerweise sieht das folgendermaßen aus:
    If .Show = -1 Then
        MsgBox "Dateipfad: " & .SelectedItems(1)
    Else
        MsgBox "Keine Auswahl!"
    End If

Freundliche Grüße
MaggieMay

Sam

Ich habe gedacht mit Execute wird die Datei gespeichert. Das Speichern Dialogfenster mit dem vorgewählten Pfad und dem vorgeschlagenen Dateinamen erscheint. Es fragt mich auch, ob es die Datei überschreiben soll, wenn ich eine Datei wähle, die schon vorhanden ist.

DF6GL

#12
Hallo,

vermutlich suchst Du nur eine Verzeichnisauswahl.  Der Filename ergibt sich ja aus Deinem Berichtsnamen.

Dim sB As FileDialog, strPath As String

Set sB = Application.FileDialog(msoFileDialogFolderPicker)
With sB
.InitialFileName = "\\...\...\0_Work\02_Planing\"
If .Show = -1 Then strPath = .SelectedItems(1)
End With


.....    acFormatPDF, strPath & "\" & Reports![Bericht].Caption & ".pdf"
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Sam

Jein. Also ich möchte einen Bericht als PDF abspeichern. Dabei wird der Name der pdf Datei angepasst und ein Pfad vorgeschlagen. Ich möchte aber mit einem Dialog speichern, da jeder Nutzer vielleicht den Pfad oder den Namen noch anpassen möchte.

MaggieMay

ZitatIch habe gedacht mit Execute wird die Datei gespeichert.
Wie sollte das gehen, denn zu dem Zeitpunkt ist doch völlig unbekannt, WAS überhaupt gespeichert werden soll.
Dies geschieht mit der OutputTo-Methode. Der FileDialog dient lediglich der Auswahl des Zieles.
Freundliche Grüße
MaggieMay