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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2012, 09:51   #1
IceExecutioner
Пользователь
 
Аватар для IceExecutioner
 
Регистрация: 04.06.2009
Сообщений: 26
По умолчанию Как работать с полями формы в access

Привет, есть БД Access 2007 с одной таблицей "2011" в ней поля:
код,фамилия, имя, отчество, дата рождения,дата посещения, цель визита.
Для удобства ввода создана форма к таблице с указанными полями для ввода. Поставили задачу при вводе фио и даты рождения должно выводиться сообщение, когда был последний раз данный человек.
Сделал фунцию на VBA и повесил её на событие onExit (Выход) каждое из полей фамилия, имя, отчество, дата рождения
Код:
Private Sub CheckDouble()
    Dim s, n, p As String
    Dim bd As Date
    Set s = Me.Фамилия.Text
    Set n = Me.Имя.Text
    Set p = Me.Отчество.Text
    Set bd = Me.Возраст.Text
    Dim sql As String
    sql = "SELECT [Код],[Дата заезда],[Фамилия],[Имя],[Отчество],[Дата рождения] FROM 2011 WHERE ([Фамилия]=" & s & ") AND ([Имя]=" & n & ") AND ([Отчество]=" & p & ") AND ([Дата рождения=" & bd & "])"
    MsgBox (sql)
End Sub
Вопрос почему при присвоении переменной s (и не только ей) вылетает ошибка "object required"? А также правильно составлен sql и вывод его через сообщение?
IceExecutioner вне форума Ответить с цитированием
Старый 03.02.2012, 11:02   #2
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Может лучше так:
Dim db as database
set db = currentdb

set t= db.openrecordset("SELECT [Код],[Дата заезда],[Фамилия],[Имя], [Отчество],[Дата рождения] FROM 2011 WHERE ([Фамилия]=" & s & ") AND ([Имя]=" & n & ") AND ([Отчество]=" & p & ") AND ([Дата рождения=" & bd & "])"
MsgBox (" & t & ")
gluk_fm вне форума Ответить с цитированием
Старый 03.02.2012, 11:04   #3
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Но что-то мне подсказывает что в рекордсете появится не одна запись, так как человек приходит не один раз....
gluk_fm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить собственный класс работать с канвой формы restarterx Общие вопросы Delphi 4 25.11.2010 11:09
БД Access и операции с полями WishNight БД в Delphi 3 05.04.2010 13:00
Как работать в access по сети? RockForr Microsoft Office Access 2 28.09.2009 15:09
Как работать с пользовательскими полями в документах OOo Writer, используя С++ Elle_Urban Общие вопросы C/C++ 0 21.09.2009 20:30
как работать вне формы? Elm0 Общие вопросы Delphi 3 04.12.2008 14:01