2016-10-20 4 views
0

In einer DAO-Datenbank, Access 2013, erhalte ich einen Compile-Syntaxfehler in der Zeile Set Image in der Anwendung msoFileDialogSaveAs. Ich bin am besten über den Code für das Speichern der JPG-Datei. Nach Recherchen über Foren und die MS Developer/Support DB habe ich experimentiert und das ist das nächste, was ich zur Lösung gebracht habe. Irgendwelche Ideen, wie man dem Endanwender erlaubt, eine jpg-Datei im System zu speichern, aber nicht die db selbst, von innen Zugriff? Mir ist es unangenehm, die API zu diesem Zeitpunkt zu verwenden.Zugriff 2013 msoFileDialogSaveAs Kein Speichern von Image

Option Compare Database 
    Option Explicit 
    Dim FileLocation As String 
    Dim DiagFile As FileDialog 

    Private Sub Jpgbtn_Click() 
     Set DiagFile = Application.FileDialog(msoFileDialogSaveAs) 
     DiagFile.Title = "Save .jpg File As..." 
     DiagFile.InitialFileName = "*.jpg" 
     DiagFile.AllowMultiSelect = False 
     If DiagFile.Show Then 
      FileLocation = DiagFile.SelectedItems(1) 
      Set Image = CreateObject("*.jpg") 
     >>>>>Set Image = file.Item "*.jpg" 
      Image.SaveFile FileLocation 
     End If 
     MsgBox (" Jpg successfully saved. ") 
     globals.ActivityLog "Jpgbtn" 
    End Sub 
+0

Was ist 'file.Item' und woher kommt es? – Andre

+0

@Andre, es war meine beste Schätzung über die Codierung, um das JPG zu speichern. Es wurde von Intellisense als eine Option angeboten, und es ist fehlgeschlagen. Da ich nichts anderes versucht hatte, arbeitete ich und gab auf und versuchte es hier. Ich habe herausgefunden, dass das Objekt referenziert werden muss, aber ich kenne die Syntax nicht, um es zu tun und die Datei erfolgreich zu speichern, um sie später zu öffnen. Da brauche ich Hilfe. – trappertam

+0

Was versuchen Sie eigentlich? Erstellen und speichern Sie eine leere JPG-Datei? Was ist der Sinn davon? Oder gibt es Bilddaten, die Sie speichern möchten? Woher kommt das? – Andre

Antwort

0

Was ich aus der Diskussion schließen:

Sie wollen einen msoFileDialogFilePicker Dialog, nicht msoFileDialogSaveAs, der Benutzer zu lassen, eine Datei von seinem Desktop aus (oder wo auch immer).
Siehe How to show "Open File" Dialog in Access 2007 VBA?

dann den Kunden Ordnerpfad (Serverpfad) von Ihrer Kundentabelle (zum Beispiel mit DLookup) lesen.

Verwenden Sie FileCopy, um die ausgewählte Datei in den Serverpfad zu kopieren. Wenn Sie eine Tabelle mit allen Kundendateien haben, fügen Sie Server Path\file name hinzu.

Hinweis: Sie wirklich brauchen die Unterscheidung von Datei vs. Ordner oder jeder ist verwirrt zu beobachten.

+0

danke für die Antwort! Ich werde versuchen, es auszuarbeiten, und lassen Sie wissen, wie es geht.Ich wusste wirklich nicht, dass es einen Unterschied zwischen einer Datei und einem Ordner gibt. Wie ich schon sagte, neu bei Access; für mich waren sie bis jetzt Synonyme für dasselbe Konzept. Ich werde auch den Unterschied zwischen Datei und Ordner nachschlagen. Danke auch für diese Ausbildung :) – trappertam

+0

Sie erschrecken mich ein wenig. : o) - http://pc.net/helpcenter/answers/difference_between_files_and_folders – Andre

+0

das funktioniert wunderbar! Vielen Dank für die Ausbildung, ich hatte keine Ahnung vom Unterschied zwischen einer Datei und einem Ordner und habe nachgesehen, sobald Sie es erwähnt haben, und ich werde mich bemühen, in Zukunft klarer zu sein. Ich habe tatsächlich eine SQL-Abfrage anstelle von "DLookup" verwendet, da "DLookup" die db zu sehr verlangsamt. Ich war auch in der Lage, alle Dokumente in einem Knopf zu kombinieren, anstatt sie in einzelne Knöpfe zu trennen; yay für kleineren Code! Alles wegen deiner Hilfe. Du bist ein Segen! Nochmals vielen Dank. – trappertam

Verwandte Themen