powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Срочно нужна квалифицированная помощь!
15 сообщений из 15, страница 1 из 1
Срочно нужна квалифицированная помощь!
    #32367668
kai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
kai
Гость
Уважаемые!!!
Срочно нужна квалифицированная помощь! Иначе система управления накроется медным тазом и сгорит синим пламенем!!!
Суть в следующем:
Необходимо сделать так, чтобы менялась "image" в зависимости от того, какое значение в базе данных Access. То есть если в неком столбце значение поменялось от 0 до 1, то нужно чтобы произошло событие OnLoad, и картинка в Visual Basic поменялась бы.
Я пока еще неопытный программист, и никак немогу решить эту проблему.
Просьба помогите.
...
Рейтинг: 0 / 0
Срочно нужна квалифицированная помощь!
    #32367672
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни фига себе система управления, если она накроется из-за одной картинки
Как-то не очень конкретно... Это VB или Access? Картинка в форме? Столбец в той же форме, в подчиненной или вообще не отображается?
...
Рейтинг: 0 / 0
Срочно нужна квалифицированная помощь!
    #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
Срочно нужна квалифицированная помощь!
    #32367741
Strannik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странное взаимодействие.
Это что, плата ввода-вывода умеет напрямую работать с базой данных Access ?
Почему тогда в VB не сделать то же самое - проверять не поменялся ли сигнал на плате и перегружать картинку.
...
Рейтинг: 0 / 0
Срочно нужна квалифицированная помощь!
    #32367748
Фотография ulis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Strannik - ну может быть, нужно протоколировать и хранить для потомков историю состояния насосв :)
Скорее всего уже есть нечто готовое, что умеет писать в базу состояние насосов (звучит!) и придумывать что-то новое просто нет времени.
Мне так видится, по таймеру подключаться к базе, проверять поле таблицы и показывать нужную картинку. Ничего сложного не вижу в данном варианте
...
Рейтинг: 0 / 0
Срочно нужна квалифицированная помощь!
    #32367756
kai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
kai
Гость
Да, нужно протоколировать...
Дело в том, что я не пойму как проверять поле таблицы и показывать нужную картинку..., т.к. не могу сформулировать условие.:(
...
Рейтинг: 0 / 0
Срочно нужна квалифицированная помощь!
    #32367768
Фотография ulis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а подключиться к базе, не важно, ado или dao ты можешь?
...
Рейтинг: 0 / 0
Срочно нужна квалифицированная помощь!
    #32367803
Strannik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to utils:

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

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

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

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

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

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

Выложи сюда свой OnLoad - быстрее ответят.
...
Рейтинг: 0 / 0
Срочно нужна квалифицированная помощь!
    #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
Срочно нужна квалифицированная помощь!
    #32367950
Фотография 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
Срочно нужна квалифицированная помощь!
    #32367983
Smile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри за офтопик
далее грузинская речь =)))

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


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