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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2015, 11:48   #1
MixanMM
Форумчанин
 
Регистрация: 09.06.2009
Сообщений: 151
По умолчанию Не работает запрос к Access

Всем добрый день, такая трабла: Имеется запрос
Код:
 ADOQuery6.SQL.Clear;
ADOQuery6.SQL.text:='UPDATE ostatki SET ostatki.ost_srok=ostatki.srok - (SELECT DateDiff(''d'',ostatki.otkr,Now()) WHERE ostatki.kran <>0';
ADOQuery6.ExecSQL;
Он прекрасно отрабатывает в Акцессе, но в Делфях работать не хочет (((
З.Ы.
В акцессе у ''d'' -двойные кавычки
MixanMM вне форума Ответить с цитированием
Старый 05.12.2015, 11:51   #2
MixanMM
Форумчанин
 
Регистрация: 09.06.2009
Сообщений: 151
По умолчанию

Сам заппрос
Код:
SELECT DateDiff(''d'',ostatki.otkr,Now()
В делфи отрабатывает, но текущий элемент почемуто пустой:

Код:
Form1.ADOQuery6.SQL.Add('SELECT DateDiff(''d'',ostatki.otkr,Now()) AS srok FROM ostatki WHERE kran <>0 ');
     Form1.ADOQuery6.open;
     txt:=Form1.ADOQuery1.Fields[0].AsString;
ShowMessage('+txt+');
MixanMM вне форума Ответить с цитированием
Старый 05.12.2015, 16:28   #3
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
В делфи отрабатывает, но текущий элемент почемуто пустой:
Я бы проверил сам этот запрос в Access -е
Код:
SELECT DateDiff(''d'',ostatki.otkr,Now()) AS srok FROM ostatki WHERE kran <>0
если он работает правильно .! в Access можно сохранить запрос и вызвать его SELECT-е как таблица ... Я не понял вопрос
xxbesoxx вне форума Ответить с цитированием
Старый 05.12.2015, 18:33   #4
MixanMM
Форумчанин
 
Регистрация: 09.06.2009
Сообщений: 151
По умолчанию

Цитата:
Сообщение от xxbesoxx Посмотреть сообщение
Я бы проверил сам этот запрос в Access -е
Код:
SELECT DateDiff(''d'',ostatki.otkr,Now()) AS srok FROM ostatki WHERE kran <>0
если он работает правильно .! в Access можно сохранить запрос и вызвать его SELECT-е как таблица ... Я не понял вопрос
он работает в Акцессе, но в делфи результат возвращает пустой, я же написал выше
Или имеешь ввиду, вызвать этот запрос в самом Акцессе?
MixanMM вне форума Ответить с цитированием
Старый 05.12.2015, 19:55   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пробуй так:
Код:
Form1.ADOQuery6.SQL.Add('SELECT DateDiff('+QuotedStr('d')+',ostatki.otkr,Now()) AS srok FROM ostatki WHERE kran <>0 ');
А вообще сделал бы ты лучше View (Запрос по-акцессовски) и уже вьюшку в клиенте прописывал
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.12.2015, 21:50   #6
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Сообщение от MixanMM Посмотреть сообщение
Или имеешь ввиду, вызвать этот запрос в самом Акцессе?
Сохранить запрос , давать ему осмыслены имя и через Delphi можно обращаться к ним как таблица , можно вызвать SELECT-е
Изображения
Тип файла: jpg Z1.jpg (83.2 Кб, 127 просмотров)
Тип файла: jpg Z2.jpg (87.1 Кб, 131 просмотров)
Тип файла: jpg Z3.jpg (49.2 Кб, 41 просмотров)
xxbesoxx вне форума Ответить с цитированием
Старый 06.12.2015, 08:17   #7
MixanMM
Форумчанин
 
Регистрация: 09.06.2009
Сообщений: 151
Радость

Цитата:
Сообщение от xxbesoxx Посмотреть сообщение
Сохранить запрос , давать ему осмыслены имя и через Delphi можно обращаться к ним как таблица , можно вызвать SELECT-е
А вызывается он типа :
Код:
SELECT * FROM MyQuery
?

Если да, тогда выдает ошибку:
Цитата:
запрос на изменение не может использоваться как источник строк

Последний раз редактировалось MixanMM; 06.12.2015 в 10:54.
MixanMM вне форума Ответить с цитированием
Старый 06.12.2015, 20:42   #8
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Сообщение от MixanMM Посмотреть сообщение
А вызывается он типа :
Код:
SELECT * FROM MyQuery
?

Если да, тогда выдает ошибку:
Что у вас выдает ошибку я не знаю .! Я говорю что ЕСЛИ запрос работает в Access что можно его сохранить и вызвать SELECT -е Вы в этом сомневайтесь ? смотрите пример пожалуйста . С: 2009 год. находитесь на форуме и чуть-чуть удивительно такой вопросы
Изображения
Тип файла: jpg Zapros.jpg (79.6 Кб, 118 просмотров)
Тип файла: jpg Z2.JPG (34.2 Кб, 36 просмотров)
Вложения
Тип файла: rar T_Query.part1.rar (500.0 Кб, 7 просмотров)
Тип файла: rar T_Query.part2.rar (260.3 Кб, 7 просмотров)

Последний раз редактировалось xxbesoxx; 06.12.2015 в 20:53.
xxbesoxx вне форума Ответить с цитированием
Старый 06.12.2015, 20:53   #9
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Цитата:
А вызывается он типа :
нет, это как хранимая процедура
come-on вне форума Ответить с цитированием
Старый 06.12.2015, 20:59   #10
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Сообщение от come-on Посмотреть сообщение
нет
Что значит нет, запрос не вызывается в SELECT-е ?
Цитата:
Сообщение от come-on Посмотреть сообщение
это как хранимая процедура
Как представления- view и НЕ процедура

Последний раз редактировалось xxbesoxx; 06.12.2015 в 21:10.
xxbesoxx вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос с датами и временем к Access [D7, Access] alexandr2010 БД в Delphi 3 26.07.2010 22:19
Запрос в Access Rom_ka Microsoft Office Access 2 09.02.2010 17:50
Запрос в Access Ruska882009 Microsoft Office Access 2 04.03.2009 00:27
Запрос в Access Ruska882009 Помощь студентам 1 25.02.2009 15:42
Запрос в Access Ruska882009 Помощь студентам 2 25.02.2009 12:49