На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Параметрические запросы

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » Работа с базами данных в ГИС
Страницы: 1 2 3 4 След.
RSS
Параметрические запросы
 
Помогите решить задачу: нужно, чтобы вывод данных из базы Aссess в форму зависел от указанной пользователем даты. Добавил параметрический запрос:

SELECT AvrTemperatureByDay.metst, AvrTemperatureByDay.date, AvrTemperatureByDay.AvgT,
AvrTemperatureByDay.MinT, AvrTemperatureByDay.MaxT
FR OM AvrTemperatureByDay
WHERE (((AvrTemperatureByDay.date)=$DateRequest$
ORDER BY AvrTemperatureByDay.metst, AvrTemperatureByDay.date;

$DataRequest$ - это компонент на форме, где пользователь указывает дату

Программа выдала сообщение об ошибке:
Число содержит синтаксическую ошибку в выражении запроса "(((AvrTemperatureByDay.date)=15.04.2012" (это дата по умолчанию в компоненте)

Изменил строку параметра на
WHERE (((AvrTemperatureByDay.date)=Format$($DataRequest$,"Short Date")))

В Aссess "Format$" гарантирует, что даты будут приведены к понятному формату, т.е. если бы теперь вместо $DataRequest$ подставилось "15.04.2012", то все было бы нормально.

Но теперь получаю сообщение "Компонент не существует".

Подскажите, как мне организовать передачу даты как параметра
Изменено: Олег Касьянов - 28.03.2013 20:01:36
 
Попытаемся подобрать параметры для команды format
 
Есть просьба: дополнить раздел документации, посвященной созданию параметрических запросов, рекомендациями и примерами по передаче в запросе данных разных типов для наиболее популярных баз данных.
А то споткнулся о проблему, что кроме как к dBase, ни к какой базе параметрический запрос и не построишь - вечные проблемы с типом передаваемых данных (с датами, временем, булевыми переменными, а если понадобится что-то еще, то, наверняка, окажется и там не все гладко). В принципе популярных СУБД не так много (Access, MS SQL-Server, Firebird, MySQL) - хотелось бы видеть примеры параметрических запросов к каждой из них.
 
Действительно, в разных СУБД одни и те же типы данных имеют разный синтаксис в запросах. В документации попытаемся отразить то, что знаем, но, например, формат даты в MS SQL Server можно использовать 20 разными способами, и это уже лежит в области профессиональных знаний по конкретной СУБД. Разработчики будут пытыться упростить процесс использования наших универсальных инструментов.
 
Андрей Владиславович, я бы на месте разработчиков, оперировал с "настраиваемыми" типами данных в формате "понимания" ОС
Если Вы заметили, я никогда не использую дату и время в текстовом виде в кодах, а исключительно в формате double.
Обратное преобразование с текста в double следует оговариватьв документации.
________
а теперь вопрос, в тему но не по разделу.
Как корректно заполнить семантику "дата создания объекта" чтобы в закладке "Семантика" формы "Свойсвто объекта" эта дата и время отображались корректно
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Отображение времени и даты в закладке "Семантика" диалога "Выбор объекта" исправлено.
 
Цитата
Людмила Шишкова пишет:
Отображение времени и даты в закладке "Семантика" диалога "Выбор объекта" исправлено.
Людмила, не подскажите, а в какой версии исправлено?
Только что проверил в Мини 11.10.10 от 30.04 - пока также с ошибкой?
 
Добрый день. подскажите пожалуйста как правильно создать параметрический запрос в моем случае. Необходимо связать две таблицы по ключевому полю KEYKEY. В первой таблице выбирается жд маршрут с ключевым значением "0" , а во второй таблице должны отображаться все жд станции, относящиеся к этому маршруту с тем же ключевым значением "0". И так далее... Благодарю. На почту могу отправить скрины таблиц
 
SEL ECT table1.*, table2.* FR OM table1 LEFT OUTER JOIN table2 ON table1.key =  table2.key
WHERE     (table1.key = 0)
Изменено: Татьяна Софинова - 10.11.2015 13:57:18
 
Цитата
Yulia пишет:
Необходимо связать две таблицы по ключевому полю KEYKEY. В первой таблице выбирается жд маршрут с ключевым значением "0" , а во второй таблице должны отображаться все жд станции, относящиеся к этому маршруту с тем же ключевым значением "0".
Да хоть две, хоть три...
Это реальный запрос, выбирающий из таблицы GEOOBJECTS идентификаторы станций, из таблицы GEONAME - их названия для железной дороги с кодом CODE_RAIL из таблицы RAILWAYS:
Код
sel ect obj.reg_n,
       gnn.geoname
  fr om geoobject obj
 inner join railways rw on rw.code_rail = obj.code_rail
 inner join geoname gnn on gnn.reg_n = obj.reg_n and gnn.norm = 1
 where rw.code_rail = 2
 order by gnn.geoname

Код - Oracle PL/SQL. Для Акцесса надо ещё скобки для from...join нагородить.

---
Господа администраторы! Ну неужели так трудно под тегом CODE сделать МОНОШИРИННЫЙ фонт???
ЗЫ - и почему при вставке, как цитата, слова select и from разорваны на две части?
ЗЗЫ - постом выше у Татьяны Софиновой эти два несчастных тоже располовинены!
Изменено: Газонокосильщик - 10.11.2015 15:47:25
Страницы: 1 2 3 4 След.
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности