Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2011, 17:34   #31
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

В форме там, кроме полей, куда заносятся критерии отбора, ничего нет. Вся фишка в запросе "Запрос_вызов". Посмотрите на его текст внимательно, особенно на раздел WHERE. Там содержится ряд условий, каждое из которых должно выполнится, чтобы запись отобразилась, например:
Код:
(([вызов]![адрес_ЭТАЖ]=[Формы]![поиск]![Поле_эт] Or IsNull([Формы]![поиск]![Поле_эт]))=True)
Работает это так: если пользователь ввел некоторое значение в поле формы "Поле_эт", то выбираются только те записи из таблицы, значения поля "адрес_ЭТАЖ" которых совпадает со значением поля формы, а если пользователь оставил это поле формы пустым (=NULL), то выводятся все записи таблицы.

В зависимости от типа хранимой в поле информации (строка, число, дата) и типа самого поля (текстовое поле, редактируемое из списка) используют разные операторы (=, <>, >, < и т.д.) и функции (LIKE, between, IN и т.п.). Надо только отчетливо себе представлять, что поле, редактируемое из списка как правило зраниться в таблице в виде целого ID записи справочника, дата - в виде дробного числа, ну и т. д. Просто думайте о том, что сравнивает условии в разделе WHERE.
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Старый 16.08.2011, 00:42   #32
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от Cherevchenko Посмотреть сообщение
Перечитал своё сообщение и понял, что сам не понял, что написал.
На самом деле речь идёт о форме поиск, по которой вы советовали dr03. Я тоже воспользовался вашими рекомендациями и всё получилось (за что вам огромное спасибо). Именно эту форму мне и нужно / пардон, что не в личку (правов не хватает, кажется)
Если у Dr03 есть возможность помочь - буду рад. (хотя не уверен, что спустить с 10-го удастся).
alt+F11 ищем кнопку tools затем references ищем подключеные библиотеки со словом missing , снимает птичку сохраняем перегружаем
если не получается пишите в личку или на почту. обязательно помогу
С уважением, Дмитрий.
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 16.08.2011, 06:24   #33
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
alt+F11 ищем кнопку tools затем references ищем подключеные библиотеки со словом missing , снимает птичку сохраняем перегружаем
если не получается пишите в личку или на почту. обязательно помогу
С уважением, Дмитрий.
Теперь смог оценить пример - КРАСИВО! И поучительно!
Спасибо, Дмитрий!
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Старый 29.08.2011, 23:42   #34
dr03
Форумчанин
 
Регистрация: 08.04.2011
Сообщений: 119
По умолчанию

хочется ещ раз выразить огромную благодарность всем, кто помог составить эту базу(ovt256 в отдельности),и снова с просьбой улучшить форму!
В этой форме сплошные цифры...а насколько сложно сделать с цифр ссылку на запись?
Например:форма "сводка" 6 июля ; колонка "смерть при 03" результат 1 -нажимаем на единицу-получаем развёрнутую запись со всеми колонками
Вложения
Тип файла: rar форма 40 - 9.rar (677.3 Кб, 27 просмотров)
OVT 256 МЕГАРЕСПЕКТ!
dr03 вне форума Ответить с цитированием
Старый 30.08.2011, 10:49   #35
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

На счет ссылок на запись ничего не скажу - не знаю. А вот повесить на событие по двойному нажатию на поле открытие некой формы, которая показала бы желаемые данные, можно.
Если руки золотые, то не важно, откуда они растут.

Последний раз редактировалось ovt256; 30.08.2011 в 11:12.
ovt256 вне форума Ответить с цитированием
Старый 05.09.2011, 18:33   #36
dr03
Форумчанин
 
Регистрация: 08.04.2011
Сообщений: 119
По умолчанию

Как мне осуществить в этой форме, что бы после , к примеру нажатия кнопки "печать" появлялось сообщение или что-то в этом роде что вызов неоднократный...ну и по возможности поле с диагнозом.Смысл в том что очень часто мы попадаем на вызов,где без сотрудников полиции находиться очень рисково, или там где пациент болеет ВИЧ или гепатитом.Естественно перчатки никто не одевает пока не знают суть заболевания-что очень опасно!Что можно придумать???
Вложения
Тип файла: rar ДЖ30.rar (4.67 Мб, 17 просмотров)
OVT 256 МЕГАРЕСПЕКТ!

Последний раз редактировалось dr03; 05.09.2011 в 18:44.
dr03 вне форума Ответить с цитированием
Старый 05.09.2011, 22:24   #37
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

В Вашем примере Вы какую форму имеете ввиду?
Хотя, в принципе, не важно. Я смотрю, что Вы используете макросы. Вот и попробуйте "ОкноСообщения" по условию. Если вызов опасен - выводим окно сообщений с соответствующим текстом.
Несколько примитивно, конечно, но, если бы Вы использовали VBA, то решение могло бы быть более изящным и универсальным.
Изображения
Тип файла: jpg Окно сообщения.JPG (48.5 Кб, 148 просмотров)
Если руки золотые, то не важно, откуда они растут.

Последний раз редактировалось ovt256; 05.09.2011 в 22:39.
ovt256 вне форума Ответить с цитированием
Старый 06.09.2011, 17:10   #38
dr03
Форумчанин
 
Регистрация: 08.04.2011
Сообщений: 119
По умолчанию

что-то я туплю ....вроде всё просто ...только никак не пойму как это будет работать???Возможно с самого начала не доконца объяснил что хочу
Итак- База ДЖ30 форма "ВЫЗОВ" и форма "ф_закрыть вызов".По приезду бригады диспетчер закрывает вызов(заполняет или исправляет поля в ф_закрыть вызов), прописывает диагноз, отмечает виды помощи, принадлежность к полу, прописку...и .т.д.Предполагал поставить флажки с надписясями "ВИЧ","ГЕПАТИТ", "НАРКОМАН","ПРИТОН","ШИЗОФРЕНИЯ","Б ЫЛ КОНФЛИКТ" с прописанием в поле инфа. Далее....в форме вызов при нажатии на кнопку печать, если вызов повторный, вплывало бы одно из этих сообщений! Вот
Конечно в идеале бы на сообщении кнопку бы с надписью подробнее и переходом к этому или этим(если более 2-х)вызовам.
До этого я так же был понят?
OVT 256 МЕГАРЕСПЕКТ!
dr03 вне форума Ответить с цитированием
Старый 09.09.2011, 14:34   #39
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

Цитата:
Сообщение от dr03 Посмотреть сообщение
До этого я так же был понят?
До этого было чуть понятней...
Попытаюсь уточнить логику процесса. Предполагаю следующее:
Диспетчер принимает звонок и создает запись "Вызов", заполняя только первичную информацию (фио, адрес, что случилось и т. п.).
Когда запись сохраняется в БД, должен произойти поиск предыдущих визитов по данному адресу и, если таковые есть, то анализируется содержимое поля "Информация о вызове" на предмет наличия в нем "особых отметок", и при их наличии должно выводиться сообщение. Таким образом диспетчер получает возможность предупредить бригаду.

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

Сообщение можно вывести функцией MsgBox(...)
Код:
Dim Responce As Integer
    Responce = MsgBox("Ooops", vbOKOnly, "Warning")
Главное - правильно определить надо его выводить или нет. Для этого, думаю, надо создать запрос, определяющий наличие повторных по отношению к текущей записей, содержащих "особые отметки". Дальше мы его выполняем и анализируем результат.
К сожалению, у меня нет готовых примеров выполнения запроса в VBA, но на форуме, думаю, их предостаточно, поищите пока.
Сейчас на работе запарка, чуть разгребу - подключусь снова...
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Старый 09.09.2011, 18:43   #40
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

К сожалению база у меня не открывается (у меня стоит более ранняя версия офиса). Но если можно включусь в диалог.
Я думаю что вполне достатосно будет:
1. Когда нажимается кнопка что вызов принят(добавление данных в основную таблицу) просто дописать в конце запрос который при выполнении будет открываться запрос с всей информацией:

Будет выглядеть где-то так:

Dim db As Database, pp As String
Set db = CurrentDb

p1 = Forms![OPEX_NEW]![p_1]
p2 = Forms![OPEX_NEW]![p_2]
p3 = Forms![OPEX_NEW]![p_3]


Set t = db.OpenRecordset("SELECT sp_opis.p1, sp_opis.p2, sp_opis1.p3 " & _
"HAVING (((sp_opis.p1='" & p1 & "') AND ((sp_opis.p2='" & p2 & "') ;")


if t![p5]<>'' then

Открываете запрос который Вы ставили в рекордсет
end if

Такие действия не только позволят сразу увидеть информацию, но исключат возможность редактирования ранее введённых данных
gluk_fm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма Jkeeee HTML и CSS 0 17.05.2011 22:16
форма 7742 C++ Builder 1 25.03.2011 21:53
Форма tgm Microsoft Office Excel 6 21.01.2011 10:39
форма Temka Общие вопросы Delphi 2 02.06.2009 18:16
Форма subsonic Общие вопросы Delphi 5 10.01.2008 11:18