Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Как получить доступ к файлу *.doc по записи из таб


Автор: Protocol 23.11.2005, 21:53
Здравствуйте, такой вопрос: есть таблица, в ней записи, мне нужно при выделении конкретной записи или нажатии на кнопку после выделения записи, открыть файл в формате *.doc на жестком диске (каждая запись связана с конкретным файлом), как это можно сделать? Если можно примерчик....

И второй вопрос как будет осуществляться отображение текста?

Спасибо.

Автор: ustas 24.11.2005, 07:06
Поле гиперссылка вам поможет.
По щелчку на соот-щей записи этого поля *.doc будут открываться в Word.

Автор: Akina 24.11.2005, 09:55
Цитата(Protocol @ 23.11.2005, 22:53)
при выделении конкретной записи

именно в таблице? или в созданной на ее основе форме?

Цитата(Protocol @ 23.11.2005, 22:53)
нажатии на кнопку после выделения записи

откуда в ТАБЛИЦЕ кнопки?

Цитата(Protocol @ 23.11.2005, 22:53)
открыть файл в формате *.doc

можно программно. shell, createprocess, word.application - вариантов масса, выбирай не хочу... ну и гиперссылки есссно.

Цитата(Protocol @ 23.11.2005, 22:53)
как будет осуществляться отображение текста

м-м-м... ты Ворд видел? вот именно так и будет... впрочем можешь wordview использовать или иной просмотрщик - на что фантазии хватит.

Автор: gromikiss 25.11.2005, 18:36
На основе таблички советуюсоздать форму. Ленточная или одиночная не имеет значения, только придется учитывать другое. А именно при создании кнопки в случае с ленточной формой ее надо поместить в заголовок, иначе сколько у тебя записей столько будет и кнопок, кому то это даже нравиться smile . Ну а для самой кнопочки напиши обработчик события типа такого
Код


Private Sub Btn4_Click()
On Error GoTo Err_Btn44_Click

    Dim oApp As Object

    Set oApp = CreateObject("Word.Application")
    oApp.Visible = True
    With oApp
        .ChangeFileOpenDirectory Me.Поле1.Value
        .Documents.Open FileName:="1.doc"      
    End With
    
    'Only XL 97 supports UserControl Property
    On Error Resume Next
    oApp.UserControl = True
    
Exit_Btn44_Click:
    Exit Sub

Err_Btn4_Click:
    MsgBox Err.Description
    Resume Exit_Btn4_Click
    
End Sub


В примере "Поле1" - это поле которое указывает папку где лежит файл. Я его добавил в таблицу и для удобства вывел на форму. Вместо моего 1.doc ты подставишь свой файл. Лучше конечно опять же поле, тогда автоматически будет открываться любая запись. не забудь это поле создать и в таблице. Это имя файла. Короче это рабочий черновик, дальше твоя безграничная фантазия. Если будут проблеммы пиши. От гиперссылок я отказался. Напрягают все эти сообщения при открытиии файла да и добавлять их не так уж и удобно.

Автор: Akina 25.11.2005, 22:25
gromikiss
Это все здОрово. Но надо учесть следующее:
- Юзер может закрыть Ворд, но может и не закрыть - при завершении приложения его надо хотя бы спросить, а не просто оставлять Ворда...
- Юзер может открыть так несколько документов (кстати, что получится - MDI или нет? а что лучше? а может не вместе, а вместо?), причем повторно - тогда надо как минимум спросить, не перейти ли к уже открытому (если юзер его не закрыл).
- Даже после выгрузки Ворда и приложения Вордовый OLE-сервер останется в памяти - есть ли это гуд?
и еще много вопросов...

Автор: Knives 3.4.2008, 10:39
Gromikiss как ты добавил "поле1" в таблицу и как он указывет на папку с файлами? smile 

Автор: Knives 7.4.2008, 03:30
У меня выходит окошко type mismatch :(

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)