powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Простой, конкретный вопрос по VB ;-)
7 сообщений из 7, страница 1 из 1
Простой, конкретный вопрос по VB ;-)
    #32708339
Пашка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Други, понадобилось мне кой-какие действия на SQL-сервере прям из Экселя сделать. А на VB я редко-редко, так уж сложилось. ДЕйствия то я сделал, конечно, но когда эти действия делаются и когда заканчиваются - непонятно.
Как бы вывести в начале действий табличку типа "Процесс идет....", а по окончании процсса эту табличку убрать. В принципе, окончание процесса я могу показать, MsgBox делаю и все. А вот показать что он идет - как лучше?
Только если можно не словами "UserForm да Do Event делаешь" - и вперед ;). Чуть поподробнее :). Я не прошу ProgressBAr, этого не надо, просто чтобы хоть какое-нибудь (модальное) сообщеньице висело, пока идет закачка данных на sql.
...
Рейтинг: 0 / 0
Простой, конкретный вопрос по VB ;-)
    #32708427
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
\'это в модулеSub Start()    Load UserForm1    UserForm1.Show 1End Sub\'добавить в проект UserForm1\'а это в коде формы UserForm1Private Sub UserForm_Activate()    \'тут типа SQL    PauseTime = 5    Start = Timer    Do While Timer < Start + PauseTime        DoEvents    Loop    \'ну и хватит пожалуй юзера мучать    Unload MeEnd Sub
Как отформатирован этот код?
...
Рейтинг: 0 / 0
Простой, конкретный вопрос по VB ;-)
    #32708448
Пашка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо, ща буду пробовать!
...
Рейтинг: 0 / 0
Простой, конкретный вопрос по VB ;-)
    #32708568
Пашка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фигу..
Сделал в модуле Sub Start()...
Сделал Форму UserForm1, написал на ней текст, типа подождите и все такое.

Вставил в текст формы нижеприведенный код.
Вместо 'тут типа SQL я вставил строчки кода, работающего с SQL.

И вот. Форма показывается, висит минуту-две и пото выгружается.
А процесс не идеть...;-\

Я придумал так - убираю все заморочки с Do Events, Timer & Loop просто оставляю
в тексте формы загрузку в SQL. Тогда она идет, но текст формы на экране не видно!!! Как будто оно не успевает написаться, видно только заголовок формы, белый фон и часики крутяца... А текста формы нету...

Кстати, совешенно непонятно как работает конструкция
Код: plaintext
1.
2.
3.
4.
5.
PauseTime =  5 
    Start = Timer
    Do While Timer < Start + PauseTime
        DoEvents
    Loop
Start - это ссылка на Sub Start. Timer это я вроде прочитал в хелпе. Все равно не понимаю как работает :-)) Нельзя ли пару строк ликбеза, если несложно.
...
Рейтинг: 0 / 0
Простой, конкретный вопрос по VB ;-)
    #32708624
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
этот код:
Код: plaintext
1.
2.
3.
4.
PauseTime =  5 	 ' Задает длительность. 
	Start = Timer	 ' Задает начало паузы. 
	Do While Timer < Start + PauseTime
		DoEvents	 ' Передает управление другим процессам. 
	Loop
просто делает пяти секундную паузу и был взят из хелпа по VBA как есть. Добвален чтобы эмулировать выполнение некой операции. Вместо него вставь вызов своей процедуры
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 'это в модуле 
Sub Start()
    Load UserForm1
    UserForm1.Show  1 
End Sub

 'добавить в проект UserForm1 
 'а это в коде формы UserForm1 
Private Sub UserForm_Activate()
    DoEvents  'оставил, чтоб форма успела нарисоваться 
    Call MySuperZapros  'тут типа SQL 
    Unload Me
End Sub
...
Рейтинг: 0 / 0
Простой, конкретный вопрос по VB ;-)
    #32708625
Пашка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче я все понял. Во втором случае Start надо заменить а то ругается.
Форма выводится целиком белая (без надписи), процесс, нужный мне, идет, а потом уже (!) выводится наконец то надпись и циклом делается задержка.

Какой-то не такой кодик :-)
...
Рейтинг: 0 / 0
Простой, конкретный вопрос по VB ;-)
    #32708650
Пашка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин. Как же все просто.
А я то решил что Timer и цикл этот это какая-то супер-хитрая штука, всю башку сломал :-)

Тепрь все отлично работает, большущее спасибо!! ;-)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Простой, конкретный вопрос по VB ;-)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]