Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 311
от 02.07.2006, 16:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 181, Экспертов: 28
В номере:Вопросов: 2, Ответов: 3


Вопрос № 47404: Здравствуйте, у меня вопрос по ответу на вопрос N 33674. Там был дан совет устанавливать соединение сразу при старте проекта. Код был такой: Sub DellWithSQL() Dim sSql As String Dim adoCnn As New ADODB.Connection Set adoCnn ...
Вопрос № 47429: Добрый день! Подскажите как заставить программу на VB6 ждать пока не распечатается документ Word. Заранее спасибо. ..

Вопрос № 47.404
Здравствуйте, у меня вопрос по ответу на вопрос N 33674. Там был дан совет устанавливать соединение сразу при старте проекта. Код был такой:

Sub DellWithSQL()
Dim sSql As String
Dim adoCnn As New ADODB.Connection

Set adoCnn = Access.CurrentProject.Connection

sSql = "delete from tbfn"
adoCnn.Execute sSql
End Sub

Где это нужно сделать? И как чтобы объект adoCnn не потерялся.
PS Использую формат Access2000
Отправлен: 26.06.2006, 22:23
Вопрос задал: AL_PP (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Филатов Евгений Геннадьевич
Здравствуйте, AL_PP!

В меню Project/Properties свойство StartUp Object = Sub Main .
Тогда при запуске проекта будет запускаться модуль, в котором можно сделать ввод пользователя и пароль, подключение к базам, начальные установки и др.

Например текст Module1 :
Option Explicit
Option Base 1
'MS Access
Public dbf As New ADODB.Connection
Public r_tmp As New ADODB.Recordset

Sub Main ( )
..
'Можно добавить ввод пользователя и пароль с проверкой
..
dbf.Open "Persist Security Info=False;DSN=База данных MS Access;DBQ=Pr.mdb;DefaultDir=;FIL=MS Access;MaxBufferSize=2048;PageTimeout=300;UID=admin;"
dbf.Execute "update predpr set ROs_file=null,RJit_file=null"
..
'Далее идет текст программы
dbf.Close
End
End Sub

В таком случае (т.е. при объявлении переменной dbf как глобальная ) возможно использование данного подключения во всех модулях и процедурах проекта, в которых нет объявления местной переменной с тем же именем.

В Вашем примере переменная объявлена локальной, поэтому при выходе из процедуры связь будет утеряна.

С уважением.
Ответ отправил: Филатов Евгений Геннадьевич (статус: 4-ый класс)
Ответ отправлен: 26.06.2006, 22:56

Отвечает: Александр Шевченко
Здравствуйте, AL_PP!
Чтобы объект adoCnn не потерялся его нужно объявить в любом модуле (если их нет - меню Project->Add Module), в самом верху модуля вставить
Dim adoCnn as ADODB.Connection
тогда объект adoCnn будет виден для всего проекта.
также в модуль вставить
Sub Main
Set adoCnn = New ADODB.Connection
Form1.Show 'где Form1 главная форма проекта
End Sub
и в свойствах проекта указать Startup Object: Sub Main
при запуске проекта будет выполняться процедура Main, из которой будет инициализироваться объект adoCnn и показываться главная форма.
Ответ отправил: Александр Шевченко (статус: 5-ый класс)
Ответ отправлен: 27.06.2006, 11:06


Вопрос № 47.429
Добрый день!
Подскажите как заставить программу на VB6 ждать пока не распечатается документ Word.
Заранее спасибо.
Отправлен: 27.06.2006, 08:30
Вопрос задал: Wino Veritas (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Miklucho
Здравствуйте, Wino Veritas!
Посмотрите здесь:

Состояние принтера
Ответ отправил: Miklucho (статус: Студент)
Ответ отправлен: 30.06.2006, 19:30
Оценка за ответ: 5
Комментарий оценки:
Спасибо большое!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное