Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как научиться удалять данные по совмещенным услов, удаление данных по удовиям 
V
    Опции темы
maxfox111
Дата 23.7.2014, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 9.11.2008

Репутация: нет
Всего: нет



Добрый день,
если возможно помогите с осмыслением того где я ошибаюсь

условия:
база данных access 2003
необходимо, периодически, удалять данные в одной из таблиц
поля таблицы следующие:
id_AccountIdentifier : Number
id_DateEstimate : Text
id_ProfExperienceFA: Text
id_ProfExperienceRole: Text
id_ProfExperienceComments: Text

Пишу вот такой запрос на удаление (ДЕЛЬФИ)

Код

Query.SQL.Text :='DELETE from Ta_Prelim WHERE (id_AccountIdentifier = 8 AND id_DateEstimate = ' + '''' + '20/12/2012'+ '''' + ')';
Query.ExecSQL();                                


то есть как я понимаю, запрос должен удалить в базе данные где 
id_AccountIdentifier = 8 AND id_DateEstimate = 20/12/2012

Но запрос удаляет все данные из таблицы где id_AccountIdentifier = 8
и не смотрит на второе условие. А там данных достаточно много.


Как научиться удалять данные по совмещенным условиям?

PM MAIL   Вверх
bas
Дата 24.7.2014, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 14.8.2002
Где: Молдова, Кишинев

Репутация: нет
Всего: 2



Используйте CDate.
Но лучше использовать в запросе параметры.
PS В Access дата представляется как #01/01/2014# 
Цитата

При указании аргумента условиеОтбора литералы даты (символы дат) должны вводиться в американском формате, даже если используется неамериканская версия ядра базы данных Jet. Например, дата 10 мая 1996 года записывается в России как 10.05.96, а в США как 5/10/96. Обязательно заключите даты в символы «решетки» (#), как показано в следующих примерах.

Для отбора записей с этой датой в российской базе данных необходимо использовать следующую инструкцию SQL:

SELECT *
FROM Заказы
WHERE ДатаИсполнения = #5/10/96#;

Кроме того, можно применять функцию DateValue, которая поддерживает международные стандарты, заданные в Microsoft Windows®. Например, для отбора записей в американской базе данных создайте текст программы:

SELECT *
FROM Заказы
WHERE ДатаИсполнения = DateValue('5/10/96');

Для российской базы данных текст программы будет выглядеть так:

SELECT *
FROM Заказы
WHERE ДатаИсполнения = DateValue('10.5.96');

PM MAIL   Вверх
maxfox111
Дата 24.7.2014, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 9.11.2008

Репутация: нет
Всего: нет



Спасибо

проблема была в использовании одинарных кавычек. С двойными все получилось.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0604 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.