2016-10-20 31 views
0

В DAO db, Access 2013, я получаю синтаксическую ошибку компиляции на линии Set Image в приложении msoFileDialogSaveAs. Я лучше всего угадываю код о том, как сохранить файл jpg. После исследований на форумах и MS Developer/Support DB я экспериментировал, и это самое близкое, что я пришел к разрешению. Любые идеи о том, как успешно разрешить конечному пользователю сохранять файл jpg в системе, но не сам db, из внутреннего доступа? Мне неудобно использовать API на этом этапе.Доступ к 2013 году msoFileDialogSaveAs Не сохраняет изображение

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

Что такое 'file.Item' и откуда оно взялось? – Andre

+0

@ Аndre, это было мое лучшее предположение о кодировании, чтобы сохранить jpg. Это было предложено intellisense как вариант, и это не удалось. Поскольку ничто другое, что я пробовал, не работает, и сдался и попробовал здесь. Я понял, что на объект нужно ссылаться, но я не знаю синтаксиса, чтобы сделать это, и сохранить файл для сохранения позже. Вот где мне нужна помощь. – trappertam

+0

Что вы на самом деле пытаетесь сделать? Создать и сохранить пустой файл .jpg? В чем смысл? Или есть данные изображения, которые вы хотите сохранить? От куда это? – Andre

ответ

0

Что я делаю вывод из дискуссии:

Вы хотите диалог msoFileDialogFilePicker, не msoFileDialogSaveAs, чтобы позволить пользователю выбрать файл из своего рабочего стола (или где).
См How to show "Open File" Dialog in Access 2007 VBA?

Затем прочитайте путь к папке клиента (путь сервера) из таблицы клиентов (например, с DLookup).

Используйте FileCopy, чтобы скопировать выбранный файл на путь к серверу.

Если у вас есть таблица со всеми файлами клиента, добавьте к ней Server Path\file name.

Примечание: вам действительно нужно смотреть различие файла против папки, или все путается.

+0

благодарю вас за ответ! Я постараюсь разобраться в этом, и дайте знать, как это происходит.Я честно не знал, что есть разница между файлом и папкой. Как я уже сказал, новый для Access; для меня, до сих пор, они были синонимами для одной и той же концепции. Я также посмотрю разницу между файлами и папками. Спасибо вам за это образование :) – trappertam

+0

Ты меня немного пугаешь. : o) - http://pc.net/helpcenter/answers/difference_between_files_and_folders – Andre

+0

это работает прекрасно! Большое спасибо за образование, я понятия не имел, какая разница между файлом и папкой, и посмотрела его, как только вы упомянули об этом, и постараемся быть более ясными в будущем. Я фактически использовал SQL-запрос вместо «DLookup», так как «DLookup» слишком сильно замедляет db. Я также смог объединить все документы в одну кнопку, а не разделять их на отдельные кнопки; yay для меньшего кода! Все из-за вашей помощи. Ты благословение! Еще раз спасибо. – trappertam