LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Критерии ...
 Тема: Критерии отбора - поля в форме
 
 15.06.2007 21:04:18
Alex6
15 сообщения


Тема: Критерии отбора - поля в форме
Есть запрос из трех таблиц Query1, отбирающий записи по критерию :
WHERE((Table1.[дата]) Between [Forms]![form1]![дата1] And [Forms]![form1]![дата1])
Все получается правильно. Когда создаю перекрестный запрос Query2, использующий источником данных Query1, при выполнении выдает сообщение: "[Forms]![form1]![дата1] не распознается ядром базы данных Microsoft Jet как допустимое имя поля или выражение". Что делать?

Заранее спасибо.



P.S. Перекрестные запросы
Автор: Alex от 04.07.2003 13:41:14 Источник ...
 15.06.2007 21:04:18
All
4316 сообщения
1-ый


RE: Критерии отбора - поля в форме
Инструкция по Access разрешает использовать такие запросы, но так многие стараются не делать. Это связано с тем, что возникают проблемы в локальных версиях Access и при переименовании форм. Одно из решений заключается в применении запроса с параметрами, где применяется внешняя функция VBA, например, funParamDate("1"), которая возвращает дату в американском формате #mm/dd/yyyy#


P.S. Перекрестные запросы
Автор: Expert от 0:00:00 Источник ...
 15.06.2007 21:04:19
Виктор2
3 сообщения


RE: Критерии отбора - поля в форме
Я решил такую проблему следующим образом. Создал запрос на создание таблицы с нужными критериями, взятыми из формы (DTP) и перекрестный запрос из этой таблицы. По событию нажатия кноки удаляется эта таблица, затем выполняется запрос на её создание и затем выполняется перекрестный запрос.


P.S. Перекрестные запросы
Автор: Виктор от 15.01.2004 17:30:55 Источник ...
 15.06.2007 21:04:19
Alex6
15 сообщения


RE: Критерии отбора - поля в форме
Я сделал по-другому: написал функцию с двумя строковыми параметрами: (имя_формы) и (имя_элемента)

функция извлекает дату из поля, потом преобразовывает в понятный для JetSQL формат и возвращает эту дату.

Public Function SQLDate(varFrm_Name As String, varCtrl_Name As String) As Date
For Each frm In Forms
If frm.Name = varFrm_Name Then
For Each ctrl In frm.Controls
If ctrl.Name = varCtrl_Name Then
SQLDate = Format(ctrl.Value, "dd\/mm\/yyyy")
MsgBox SQLDate
Exit Function
End If
Next ctrl
End If
Next frm
MsgBox "Неправильное имя формы " & "'" & varFrm_Name & "'" & " или элемента управления " & "'" & varCtrl_Name & "'" & ", или форма " & "'" & varFrm_Name & "'" & " закрыта!", vbCritical
End Function

вот так выглядит строка условия в конструкторе запроса (в режиме просмотра SQL ; заменить на , )

Between sqldate('имя_формы';'имя_элемента') And sqldate('имя_формы';'имя_элемента')

IMHO, так проще :)




P.S. Перекрестные запросы
Автор: Alex от 29.01.2004 14:14:51 Источник ...
 15.06.2007 21:04:19
NicRosS
2 сообщения


RE: Критерии отбора - поля в форме
Дилерская скидка.Не подскажете что это такое в Microsoft Access


P.S. Перекрестные запросы
Автор: NicRosS от 21.01.2006 20:12:42 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Критерии ...
ПоискПоиск  Список форумовСписок форумов  
right