Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
ник: akkorn Лена, Светлана! Все делается в два хода. Но сперва об организации: 1. Вы в базе храните имя файла, т.е. текст (например, файл1.txt) 2. Вы должны определиться, где следует искать файл: -в папке с текущим файлом -в папке с текущим файлом и подпапке (...\Files\) -где-то на сервере. Чтобы было проще конфигурить и в будующем можно было бы безболезненно менять местоположение файлов (всех)- создаем функцию PathToFiles и задаем в ней ей самой значение пути. 3. перед запуском необходимо проверить наличие файла, и если true- то запускаем, а если false- то говорим "а файла нема ((". Приведу пример:
Option Compare Database Option Explicit 'для FileUtils_IsFilePresent2() Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long 'для StartOfFile Public Declare Function ShellExecute _ Lib "shell32.dll" _ Alias "ShellExecuteA" _ (ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Public Const SW_SHOWMAXIMIZED = 3 Public Const SW_SHOWDEFAULT = 10 Public Const SW_SHOWNOACTIVATE = 4 Public Const SW_SHOWNORMAL = 1 'для подстановки пути Function PathToFiles() As String PathToFiles = Application.CurrentProject.Path & "\Files\" End Function 'проверка наличия файла Function FileUtils_IsFilePresent2(ByVal strFileName As String) As Boolean FileUtils_IsFilePresent2 = PathFileExists(strFileName) End Function 'запуск файла Function StartOfFile(strNameFile As String) 'Вызывается так 'StartOfFile("C:\Program Files\Adobe\Acrobat 5.0\Help\ENU\ACROBAT.PDF") Dim intResult As Integer intResult = ShellExecute(Application.hWndAccessApp, "open", strNameFile, 0, 0, SW_SHOWNORMAL) If intResult = 31 Then MsgBox "Незарегестрированный тип файла", , "(((" End If End Function 'основная рабочая функция Function OpenFile1(Optional FileName As String) If FileName = "" Then MsgBox "Не задано имя файла..", , "Упс!" GoTo End01 End If If FileUtils_IsFilePresent2(PathToFiles & FileName) = True Then StartOfFile (PathToFiles & FileName) Else MsgBox " Данный файл" & vbCrLf & "изволит отсутствовать..", , "' " & FileName & " '" End If End01: End Function '=========================================================================== '=========================================================================== '=========================================================================== 'ЗАПУСК: 'OpenFile1(me.pole1.value) либо 'OpenFile1("File1.txt") 'данный файл будет искаться в текущей папке 'и еще далее в папке Files.
Ваше имя:
Пароль:
Сообщение:
Прикрепить:
Для вставки смайлов в текст щелкните по значку.