Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: Sam am Januar 27, 2016, 10:02:16

Titel: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Januar 27, 2016, 10:02:16
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
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: MaggieMay am Januar 27, 2016, 12:01:02
Hallo,

die Suche nach "Datei-Speichern-Dialog" (evtl. noch mit dem Zusatz "VBA" und "Access") sollte dir eigentlich weiterhelfen können.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Januar 28, 2016, 16:21:35
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
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: DF6GL am Januar 28, 2016, 17:07:37
Hallo,

vermutlich fehlt der Verweis auf die Microsoft-Office xx Library

(VBA-Editor/Extras/Verweise)
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: MaggieMay am Januar 28, 2016, 17:07:44
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!
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Januar 28, 2016, 17:34:44
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.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: MaggieMay am Januar 28, 2016, 17:59:18
ZitatDen Filter habe ich jetzt weggelassen,
Und dann läuft's?

Und naja, du hattest ja wie gesagt gar keinen gesetzt...
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Januar 28, 2016, 18:06:10
Nein, dann stürzt es auch ab, sobald ich auf den Button "Speichern" klicke.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: MaggieMay am Januar 28, 2016, 18:12:50
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.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Januar 28, 2016, 18:22:50
Es ist das Office der Firma, ich denke es ist aktuell...  Es scheitert beim .Execute. Beim Kompilieren gibt es keine Fehler.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: MaggieMay am Januar 28, 2016, 18:35:16
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

Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Januar 28, 2016, 18:40:28
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.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: DF6GL am Januar 28, 2016, 19:02:35
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"
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Januar 28, 2016, 19:09:33
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.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: MaggieMay am Januar 28, 2016, 22:30:45
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.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Januar 29, 2016, 08:19:02
Ich bin ja wirklich zu doof. Das habe ich irgendwie völlig übersehen. Jetzt sieht der Code so aus:
Private Sub savereport_Click()
Dim sB As FileDialog
Dim saveFileAs As String
DoCmd.OpenReport "Bericht", acViewPreview, , , acHidden
Set sB = Application.FileDialog(msoFileDialogSaveAs)
With sB
'.InitialView = msoFileDialogViewList / Ist das notwendig?
.InitialFileName = "\\Pfad\02_Planing\" & Reports![Bericht].Caption & ".pdf"


  If .Show = -1 Then
    saveFileAs = .SelectedItems(1)
    DoCmd.OutputTo acOutputReport, "Bericht", acFormatPDF, saveFileAs
    Else
    MsgBox ("Der Plan wurde nicht gespeichert")
    Exit Sub
    End If
'.Execute  / Für was noch execute?
End With

DoCmd.Close acReport, "Bericht"
End Sub


Das Abbrechen funktioniert. Ich muss einfach zweimal auf Speichern klicken, das erste übernimmt es nicht. 
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Februar 03, 2016, 08:43:26
Ich habe herausgefunden man muss gar nicht zweimal klicken sondern einfach etwa 20 Sekunden warten. Dieses .show benötigt viel Zeit.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: MaggieMay am Februar 03, 2016, 13:13:57
Hallo,

das wird dann wohl am Netzwerk liegen, kannst du die Dateien nicht woanders abspeichern? Eine Wartezeit von 20 Sek. ist schon heftig...
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Februar 15, 2016, 16:13:08
Ich habe die Funktion nur noch bei mir aktiv. Die anderen User können sich den Bericht per Mail senden :)
Jetzt habe ich dann alles geschafft nur noch die besch... bedingte Formatierung treibt mich in den Wahnsinn, aber da habe ich noch ein paar Ideen.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: MaggieMay am Februar 15, 2016, 16:56:49
Hi,

kannst du die Probleme mit der bedingten Formatierung näher beschreiben?
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Februar 16, 2016, 08:40:34
Sicher doch. Ich möchte den Hintergrund der Felder im Endlosformular mit ca. 10 verschiedenen Farben einfärben. je nach Zelleninhalt. Mit der bedingten Formatierung aus dem Accessmenü geht es, aber es lädt nicht sauber. Das heisst, manchmal formatiert es die Felder nicht, manchmal nur einzelne Felder und nie schön synchron beim neuladen. Bei erneutem klicken geht es dann meistens. Also wollte ich es via VBA machen, aber das geht irgendwie gar nicht. Laut einigen Foren gehen da nicht mehr als 3 Bedingungen. 
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: DF6GL am Februar 16, 2016, 09:47:53
Hallo,


mach mal einen Screenshot vom BF-Fenster, damit man die Einstellungen der Regeln sehen kann.

Beziehen sich die Regel-Ausdrücke auf berechnete Felder?
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Februar 16, 2016, 10:06:30
Alle bis auf eine sind Wert = x.   Die Daten kommen aus einem ID Feld.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: DF6GL am Februar 16, 2016, 11:09:19
Hallo,


offensichtlich heißt ein Feld "Datum" ..  Datum ist ein reserviertes Wort und sollte (darf) nicht verwendet werden.

Meinst Du damit aber das heutige Datum, dann sollte es so lauten:

Wochentag(Datum();2)>5
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Februar 16, 2016, 13:30:05
Ich habe es angepasst und das Feld heisst jetzt Kalendertag. Aber das ganze mit der bedingten Formatierung beeinflusst es nicht.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: MaggieMay am Februar 16, 2016, 14:39:32
Hi,

dann musst du wohl mal eine Beispiel-DB hochladen, an der man das austesten kann.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Februar 16, 2016, 16:50:18
Hier meine Datenbank. Merrci
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: DF6GL am Februar 16, 2016, 17:07:59
Hallo,

sorry, aber das ist grausam...

- keinerlei Normalisierung, bzw. gesetzte Beziehungen
- in jedem Modul fehlt (vollständiges) 
Option Compare Database
Option Explicit
- Kompilieren bringt fehlende Variablen-Deklaration zu Tage wie auch fehlende Verweise
- immer noch reservierte Wörter  (--> Wochentag)  als Namen vorhanden, wie auch Sonder- /Leerzeichen in Namen.


Nichtsdestotrotz gibt es bei der BF im Formular "Tourenplan" bei mir (A2010) keinen solchen beschriebenen Effekt.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: Sam am Februar 17, 2016, 09:01:53
Merci fürs Anschauen. Wie ist es wenn Du das Hauptformular "Planning" öffnest und ein paar "Touren" änderst?

Zitat- keinerlei Normalisierung, bzw. gesetzte Beziehungen
Beziehungen habe ich jeweils in den Abfragen gemacht, ist das nicht genügend?

Zitat- in jedem Modul fehlt (vollständiges) 
Option Compare Database
Option Explicit

Was fehlt denn da was wichtig ist?

Zitat- Kompilieren bringt fehlende Variablen-Deklaration zu Tage wie auch fehlende Verweise
Das macht es bei mir nicht, ich habe auch Access 2013. Vielleicht durchs zippen oder ich habe interne Netzwerkverweise nicht rausgelöscht.
Titel: Re: Bericht speichern mit Pfadvorauswahl und Speichern Dialog
Beitrag von: DF6GL am Februar 17, 2016, 09:41:01
Hallo,

ZitatBeziehungen habe ich jeweils in den Abfragen gemacht, ist das nicht genügend?
Nein. In Abfragen können keine Beziehungen gesetzt werden, allenfalls Verknüpfungen zwischen Tabellenfeldern. Beziehungen werden im Beziehungsfenster erstellt und werden vom Datenbankmodul berücksichtigt/kontrolliert.

Zitat
Was fehlt denn da was wichtig ist?

Wichtig ist, dass beide Zeilen in JEDEM Modulkopf zu stehen kommen und dann die Db kompiliert wird.



ZitatDas macht es bei mir nicht, ich habe auch Access 2013. Vielleicht durchs zippen oder ich habe interne Netzwerkverweise nicht rausgelöscht.

Das macht es deswegen nicht, weil Option Explicit fehlt. Nichtsdestotrotz sind die Fehler vorhanden und sorgen ggfls. für einen DB-Absturz.

"Verweise" in Access sind keine "Netzwerkverweise"....


Ich rate dringend, die Hinweise umzusetzen, sofern Du keinen Murks bauen willst.