|
Доброго времени суток, Посетитель!
|
|
|
|
|
|
|
|
|
вид форума:
|
| |
|
|
| |
to: ReStart
(30.08.2007 в 15:19)
|
| | я думаю так
WHERE (((ККАрхив_проб.ДСтатус)>=[Введите начальную дату]) AND ((ККАрхив_проб.Район)
In "Адмиралтейский","Василеостровский","Выборгский","Калининский","Кировский",
"Красногвардейский","Красносельский","Московский","Невский","Петроградский",
"Приморский","Фрунзенский","Центральный")) AND ((ККАрхив_проб.Этажность)<>1)
AND ((ККАрхив_проб.Этаж)<>1) AND ((ККАрхив_проб.Стиль)<>"деревянный")
AND ((ККАрхив_проб.Добавлено)=No))
AND ( ((ККАрхив_проб.ОбщКолКом)=0) OR (((ККАрхив_проб.КолКомнат)=1) AND ((ККАрхив_проб.ОбщКолКом)>1) ) )
|
| |
| |
| |
| |
|
|
| |
to: ReStart
(30.08.2007 в 14:54)
|
| | Все получилось!!! Дошло что называется! Параметр объявлен, скобки расставлены как надо!!! СПАСИБО, Анатолий и Глазастый Мышь! | |
| |
| |
| |
|
|
| |
to: ГлазастыйМышь
(30.08.2007 в 08:19)
|
| | ГлазастыйМышь, я начинала все писать руками сначала, чтобы поизучать SQL, но почуствовала, что путаюсь и дальше делала уже в конструкторе, отслеживая что и как получается. Так что скобки расставляла не я.
И судя по данным в результирующей таблице ККАрхив_обр, все вроде правильно отбирается...
Хотя если посмотреть на код, то действительно получается 2 условия.
Эти два условия получаются из-за того, что мне надо чтобы для двух полей ОбщКолКом и КолКомнат условие отбора было следующее:
ККАрхив_проб.ОбщКолКом=0 OR (ККАрхив_проб.КолКомнат=1 AND ККАрхив_проб.ОбщКолКом>1)
Как тогда правильно их записать? | |
| |
| |
| |
|
|
| |
to: Анатолий (Киев)
(30.08.2007 в 09:46)
|
| | Анатолий, попробовала добавить в начале инструкции объявление параметра, но программа ругается...Говорит, хочет либо "INSERT INTO, либо UPDATE" видеть в начале...
Я хочу использовать параметры в запросе на добавление. Может он только в запросе на выборку может использоваться? Или не в этом дело? А в чем тогда? | |
| |
| |
| |
|
|
| |
to: ReStart
(29.08.2007 в 17:43)
|
| | А еще добавьте в начале инстукции объявление параметра и его типа. Так надежнее.
PARAMETERS [Введите начальную дату] DateTime;
INSERT INTO ... | |
| |
| |
| |
|
|
| |
to: ReStart
(29.08.2007 в 17:43)
|
| | Внимательней со скобками
по представленному коду получается, что выбирается по двум условиям или
((ККАрхив_проб.ДСтатус)>=[Введите начальную дату]) AND ((ККАрхив_проб.Район) In
("Адмиралтейский","Василеостровский","Выборгский","Калининский","Кировский",
"Красногвардейский","Красносельский","Московский","Невский","Петроградский",
"Приморский","Фрунзенский","Центральный")) AND ((ККАрхив_проб.Этажность)<>1)
AND ((ККАрхив_проб.Этаж)<>1) AND ((ККАрхив_проб.ОбщКолКом)=0)
AND ((ККАрхив_проб.Стиль)<>"деревянный") AND ((ККАрхив_проб.Добавлено)=No))
|
или по
(((ККАрхив_проб.КолКомнат)=1) AND ((ККАрхив_проб.ОбщКолКом)>1)
|
а там нет никакого выбора даты | |
| |
| |
| |
|
|
| |
to: ГлазастыйМышь
(29.08.2007 в 17:26)
|
| | INSERT INTO ККАрхив_обр ( ION, Статус, ДЗанесения, ДСтатус, ЦПродавца, ЦПокупателя, НасПункт, Район, Улица, Дом, Зона, Этажность, Этаж, КолКомнат, ОбщКолКом, КомН, Стиль, ТипДома, ГодПостройки, Съемщики, Жильцы, ПСмежн, ПОбщ, ПЖил, ПКух, [Цена$квм], Санузел, Ванна, Примечания )
SELECT ККАрхив_проб.ION, ККАрхив_проб.Статус, ККАрхив_проб.ДЗанесения, ККАрхив_проб.ДСтатус, ККАрхив_проб.ЦПродавца, ККАрхив_проб.ЦПокупателя, ККАрхив_проб.НасПункт, ККАрхив_проб.Район, ККАрхив_проб.Улица, ККАрхив_проб.Дом, [Справочник_УлицБезДома].[Зоны] & [Справочник_УлицСДомом].[Зоны] AS Зона, ККАрхив_проб.Этажность, ККАрхив_проб.Этаж, ККАрхив_проб.КолКомнат, ККАрхив_проб.ОбщКолКом, IIf([ОбщКолКом]>1 And [КолКомнат]=1,"99",[КолКомнат]) AS КомН, ККАрхив_проб.Стиль, IIf([Стиль]="Кирпичный" And [Этаж]>7 And [ПКух]>8 And (([КомН]=1 And [ПОбщ]>32) Or ([КомН]=2 And [ПОбщ]>49) Or ([КомН]=3 And [ПОбщ]>66) Or ([КомН]=4 And [ПОбщ]>75)),"НК",IIf([Стиль]="Кирпичный" And ([Этаж]>=7 And [Этаж]<>11) And [ПКух]<=8 And (([КомН]=1 And [ПОбщ]<=32) Or ([КомН]=2 And [ПОбщ]<=49) Or ([КомН]=3 And [ПОбщ]<=66) Or ([КомН]=4 And [ПОбщ]<=75)),"СК",IIf([Стиль]="Панельный" And [Этаж]>=5 And [Этаж]<=7 And [ПКух]<=8 And (([КомН]=1 And [ПОбщ]<=32) Or ([КомН]=2 And [ПОбщ]<=49) Or ([КомН]=3 And [ПОбщ]<=66) Or ([КомН]=4 And [ПОбщ]<=75)),"ХРУЩ/БРЕЖ",IIf([Стиль]="Панельный" And [Этаж]>=8 And [Этаж]<=9 And [ПКух]<=8 And (([КомН]=1 And [ПОбщ]<=32) Or ([КомН]=2 And [ПОбщ]<=49) Or ([КомН]=3 And [ПОбщ]<=66) Or ([КомН]=4 And [ПОбщ]<=75)),"СП",IIf([Стиль]="Панельный" And [Этаж]>9 And [Этаж]<17 And [ПКух]>8 And (([КомН]=1 And [ПОбщ]>32) Or ([КомН]=2 And [ПОбщ]>49) Or ([КомН]=3 And [ПОбщ]>66) Or ([КомН]=4 And [ПОбщ]>75)),"НП"))))) & [Справочник_СтильТипДома].[ТипДома1] AS ТипДома, ККАрхив_проб.ГодПостройки, ККАрхив_проб.Съемщики, ККАрхив_проб.Жильцы, ККАрхив_проб.ПСмежн, ККАрхив_проб.ПОбщ, ККАрхив_проб.ПЖил, ККАрхив_проб.ПКух, ККАрхив_проб.[Цена$квм], ККАрхив_проб.Санузел, ККАрхив_проб.Ванна, ККАрхив_проб.Примечания
FROM ((ККАрхив_проб LEFT JOIN Справочник_СтильТипДома ON ККАрхив_проб.Стиль = Справочник_СтильТипДома.Стили) LEFT JOIN Справочник_УлицБезДома ON (ККАрхив_проб.Улица = Справочник_УлицБезДома.Улицы) AND (ККАрхив_проб.Район = Справочник_УлицБезДома.Районы)) LEFT JOIN Справочник_УлицСДомом ON (ККАрхив_проб.Дом = Справочник_УлицСДомом.Дома) AND (ККАрхив_проб.Улица = Справочник_УлицСДомом.Улицы) AND (ККАрхив_проб.Район = Справочник_УлицСДомом.Районы)
WHERE (((ККАрхив_проб.ДСтатус)>=[Введите начальную дату]) AND ((ККАрхив_проб.Район) In ("Адмиралтейский","Василеостровский","Выборгский","Калининский","Кировский","Красногвардейский","Красносельский","Московский","Невский","Петроградский","Приморский","Фрунзенский","Центральный")) AND ((ККАрхив_проб.Этажность)<>1) AND ((ККАрхив_проб.Этаж)<>1) AND ((ККАрхив_проб.ОбщКолКом)=0) AND ((ККАрхив_проб.Стиль)<>"деревянный") AND ((ККАрхив_проб.Добавлено)=No)) OR (((ККАрхив_проб.КолКомнат)=1) AND ((ККАрхив_проб.ОбщКолКом)>1))
ORDER BY ККАрхив_проб.ДСтатус;
Собственно вот.... Из таблицы ККАрхив в ККАрхив_обр добавляются записи по этим условиям.
Хотела задать параметр для даты - поле, которое содержит дату называется ДСтатус | |
| |
| |
| |
|
|
| |
to: ReStart
(29.08.2007 в 17:05)
|
| | телепаты в отпуске
т.е. текст запроса в студию | |
| |
| |
| |
|
|
| | Добрый День!
Есть запрос на добавление записей из старой таблицы в новую. Среди условий отбора хотела добавить параметр для даты, чтобы из старой таблицы в новую переносились записи, начиная с даты, введенной пользователем.
И что-то белиберда какая-то получается. Хочу, например, получить записи, начиная с 13.04.2002, а копируется все равно и 2000 и 2001. В чем тут дело?
Можно ли использовать параметры в запросе на добавление или только на выборку?
Или тут с датой что-то не то... Я пробовала разные стандарты - не идет. | |
| |
| |
HiProg.com - Технологии программирования
|