Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Срочно нужна квалифицированная помощь! / 15 сообщений из 15, страница 1 из 1
01.01.2004, 15:45
    #32367668
kai
kai
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
Уважаемые!!!
Срочно нужна квалифицированная помощь! Иначе система управления накроется медным тазом и сгорит синим пламенем!!!
Суть в следующем:
Необходимо сделать так, чтобы менялась "image" в зависимости от того, какое значение в базе данных Access. То есть если в неком столбце значение поменялось от 0 до 1, то нужно чтобы произошло событие OnLoad, и картинка в Visual Basic поменялась бы.
Я пока еще неопытный программист, и никак немогу решить эту проблему.
Просьба помогите.
...
Рейтинг: 0 / 0
01.01.2004, 17:33
    #32367672
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
Ни фига себе система управления, если она накроется из-за одной картинки
Как-то не очень конкретно... Это VB или Access? Картинка в форме? Столбец в той же форме, в подчиненной или вообще не отображается?
...
Рейтинг: 0 / 0
02.01.2004, 14:20
    #32367722
kai
kai
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
Конкретнее дело обстоит так:
1) Есть форма(MDI child), на которой отображаются картинки(image) изображающие объекты(в частности насосы) в нерабочем состоянии(красный цвет "NL_red","ND_red").
2)Существует также база данных в Access "db1.mdb", куда поступает сигнал об отработке некой команды с платы ввода/вывода, например о том что насосы включились.
В таблице "Команды", столбец "Статус" соответственно меняется 0 на 1.
3) Теперь нужно чтобы произошел запрос из VB к Access.
И картинки "NL_red","ND_red" поменялись бы на "ND_green","ND_green".
...
Рейтинг: 0 / 0
02.01.2004, 17:10
    #32367741
Strannik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
Странное взаимодействие.
Это что, плата ввода-вывода умеет напрямую работать с базой данных Access ?
Почему тогда в VB не сделать то же самое - проверять не поменялся ли сигнал на плате и перегружать картинку.
...
Рейтинг: 0 / 0
02.01.2004, 17:33
    #32367748
ulis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
2 Strannik - ну может быть, нужно протоколировать и хранить для потомков историю состояния насосв :)
Скорее всего уже есть нечто готовое, что умеет писать в базу состояние насосов (звучит!) и придумывать что-то новое просто нет времени.
Мне так видится, по таймеру подключаться к базе, проверять поле таблицы и показывать нужную картинку. Ничего сложного не вижу в данном варианте
...
Рейтинг: 0 / 0
02.01.2004, 19:19
    #32367756
kai
kai
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
Да, нужно протоколировать...
Дело в том, что я не пойму как проверять поле таблицы и показывать нужную картинку..., т.к. не могу сформулировать условие.:(
...
Рейтинг: 0 / 0
02.01.2004, 21:16
    #32367768
ulis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
Ну а подключиться к базе, не важно, ado или dao ты можешь?
...
Рейтинг: 0 / 0
03.01.2004, 01:48
    #32367803
Strannik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
to utils:

Я просто не могу поверить, что в hardware devices есть встроенная поддержка MS Access :) Наверное есть какая-то программа, которая считывает информацию из платы и записывает в базу. Тогда нужно просто организовать взаимодействие между этой прогой и той, где важная картинка ...
...
Рейтинг: 0 / 0
03.01.2004, 02:14
    #32367806
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
Странный вопрос...

Бог с ним, кто там в базу что и как пишет.

Если ты хочешь, чтобы как-нибудь само сгенерировалось какое-нибудь событие при изменении в базе, пусть даже текущей записи - этого не получиться.

Чтобы иметь более-менее "текущее" состояние записи - надо делать, например по событию Timer, .Requery источника данных формы. Частота таймера вычисляется эмпирически так, чтобы он, таймер, не мешал пользователю работать.

После того, как ты обновил источник данных, и спозиционировался на ту же запись (если она не одна, конечно), ты можешь проверить, те ли картинки загружены. Т.е. соответствует ли отображаемая картинка текущему значению поля Статус. Если они (картинки) тоже тянутся из базы, то и проверять ничего не надо, сами обновятся. Если нет - if, select case или чем ты там заполняешь поля с картинками, - тебе в руки.

If ([Статус]=0) <> ([Картинка]="ND_red") then
' Поменять картинку
endif
...
Рейтинг: 0 / 0
03.01.2004, 02:36
    #32367809
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
Хотя это уже и говорили, невнимательно прочитал я.

Выложи сюда свой OnLoad - быстрее ответят.
...
Рейтинг: 0 / 0
03.01.2004, 16:30
    #32367943
kai
kai
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
Я думал, что конструкция должна быть наподобие такой
Dim i as String
If i="Select * From Commands Where Status=1"
Then NL1.picture=OnLoad.picture"path...NL1.green.gif"
End if
но это не работает.
Да и если бы сработала то была бы только для одной картинки,
а нужно для нескольких...
Вообщем беда. :(
А как через таймер проверять базу?
...
Рейтинг: 0 / 0
03.01.2004, 16:47
    #32367950
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
>Dim i as String
>If i="Select * From Commands Where Status=1"

"Select * From Commands Where Status=1"
Это строка. Никакого отношения к запросу не имеющая. С таким же успехом можно написать

If i="Меня завут Гия" then ...

--
В конце концов, если не знаешь языка, и не хочется в нем даже пытаться разбиратся, можно написать первой строкой OnOpen

Me.TimerInterval = 5000

, и

Private sub Form_timer()
Form_OnOpen()
end sub

Но это чревато. Т.е. это может работать только в том случае, если форма нередактируемая, и т.д.
...
Рейтинг: 0 / 0
03.01.2004, 23:48
    #32367983
Smile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
сорри за офтопик
далее грузинская речь =)))

4 Geo
шен картвели хар?
ме нодари вар да картули цота вици =)))
...
Рейтинг: 0 / 0
04.01.2004, 12:15
    #32368028
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
2 Smile
На четверть :)
Последний раз там был лет 20 назад, и из язык не помню совершенно :))
...
Рейтинг: 0 / 0
04.01.2004, 19:05
    #32368131
Smile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Срочно нужна квалифицированная помощь!
4 Geo
такая же фигня =))
только 10 лет =))
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Срочно нужна квалифицированная помощь! / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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