Страница: 1 |
Страница: 1 |
Вопрос: База данных Excel Помогите начинающему!!!
Добавлено: 28.09.04 12:12
Автор вопроса: **TuX**
Есть база данных на в формате Excel, сделал прогу которая может добавлять и удалять определённые записи в эту базу.
Проблемма стостоит в том, что если во время работы проги открыть ещё какой нибудь докумет Excel, то моя база становиться видимой, и её можно спокойно закрыть, при этом прога естественно уйдёт в аут:(
Подскажите, плиз, как от этого избавиться. Очень нуно!:(
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
**TuX**
Вопросов: 1
Ответов: 6
Профиль | | #1
Добавлено: 29.09.04 10:10
НУ Очееееень нУнО!!!
Номер ответа: 2
Автор ответа:
astoro
ICQ: 649109
Вопросов: 31
Ответов: 391
Профиль | | #2
Добавлено: 29.09.04 13:00
Помоему, никак...
Номер ответа: 3
Автор ответа:
**TuX**
Вопросов: 1
Ответов: 6
Профиль | | #3
Добавлено: 29.09.04 17:18
может возможно запретить запуск 2-й копии excel, и тогда проблемма будет решена ?:/
Может у кого какие-нибудь другие светлые мысли есть?
Номер ответа: 4
Автор ответа:
**TuX**
Вопросов: 1
Ответов: 6
Профиль | | #4
Добавлено: 29.09.04 17:19
или же мне в mdb всё загонять? Но уж больно много кода переписывать ((((
Номер ответа: 5
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #5
Добавлено: 29.09.04 17:24
Я бы всё же переписал всё в mdb. Потому как держать базу в ёкселе не только кощунство, но ещё и не рационально.
А вообще файл можно открывать и монопольно...
Номер ответа: 6
Автор ответа:
**TuX**
Вопросов: 1
Ответов: 6
Профиль | | #6
Добавлено: 29.09.04 17:58
енто как "А вообще файл можно открывать и монопольно..."
подскажите
Номер ответа: 7
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #7
Добавлено: 29.09.04 18:13
Я так подумал.. что-то фигня какая-то. Так быть не должно. Покажи как ты открываешь этот файл..
Номер ответа: 8
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #8
Добавлено: 30.09.04 06:02
Если объявить с WithEvents:
Dim WithEvents appExcel As Excel.Application
Set appExcel = New Excel.Application
, то в разделе Declarations, появятся св-ва относящиеся к appExcel. Используя их можно в программе узнать, когда пользователь закрывает приложение и соответственно отреагировать. Это чтоб программа в Аут  не вылетала. Типа MsgBox “Во время выполнения приложение было закрыто….”
Номер ответа: 9
Автор ответа:
**TuX**
Вопросов: 1
Ответов: 6
Профиль | | #9
Добавлено: 30.09.04 16:13
"Я так подумал.. что-то фигня какая-то. Так быть не должно. Покажи как ты открываешь этот файл.."
Вот так я открываю:
Set objexcel2 = CreateObject("excel.application"
objexcel2.Visible = False
objexcel2.Workbooks.Open FileName:= _
App.Path & "\baza.xls"
Номер ответа: 10
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #10
Добавлено: 30.09.04 16:39
ну ясен пень.... Где New ???
Номер ответа: 11
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #11
Добавлено: 01.10.04 11:47
Активизируй свое окно и сделай:
ActiveWindow.Visible = False
Хотя... всё бесполезно, знаешь - не получится, всё равно твою базу можно закрыть
Номер ответа: 12
Автор ответа:
**TuX**
Вопросов: 1
Ответов: 6
Профиль | | #12
Добавлено: 01.10.04 12:33
всё, разобрался Дело было в способе открытия. Вместо этого:
Set objexcel2 = CreateObject("excel.application"
Я сделал так:
Set objexcel2 = New Excel.Application
Всем спасибо!
Номер ответа: 13
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #13
Добавлено: 07.10.04 11:23
Используй ADO, он вроде может работать с файлами Excel через OleDB.
Заодно еще одного зайца убьешь: не будет требоваться наличие Excel на
машине клиента.