Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 выборка по пустой строке  [new]
Daroteya
Member

Откуда: Москва
Сообщений: 106
Доброго времени суток всем, есть таблица (см.рис1)
делаю по ней запрос на выборку NAMEBAD=""

SELECT RMA.WARRANTYC, RMA.Ware, RMA.KODBAD, RMA.[Name Ware], RMA.Model, RMA.BARCODE1, RMA.BARCODE3, RMA.WARRANTYS, RMA.WARRANTYM, RMA.Vendor, RMA.[Numb Talon], RMA.NAIMBAD, RMA.kodvend
FROM RMA
WHERE (((RMA.NAIMBAD)=""));

выводит ничего :( фигня какая-то, объясните пожалуйста почему, если подобная выборка в другом месте работает:

SELECT Гарантийное_Temp.Ware, Гарантийное_Temp.[Name Ware], Гарантийное_Temp.Model, Гарантийное_Temp.BARCODE1, Гарантийное_Temp.BARCODE3, Гарантийное_Temp.WARRANTYS, Гарантийное_Temp.WARRANTYM, Гарантийное_Temp.WARRANTYC, Гарантийное_Temp.Vendor, Гарантийное_Temp.[Numb Talon], Гарантийное_Temp.KODBAD, Гарантийное_Temp.kodvend
FROM Гарантийное_Temp
WHERE (((Гарантийное_Temp.[Numb Talon])<>"VORONOV" And (Гарантийное_Temp.[Numb Talon])<>"ВОРОНОВ" And (Гарантийное_Temp.[Numb Talon])<>"НЕ ГАРАНТИЯ") AND ((Гарантийное_Temp.[Product Class])<>"---" And (Гарантийное_Temp.[Product Class])<>"CZC" And (Гарантийное_Temp.[Product Class])<>"UC" And (Гарантийное_Temp.[Product Class])<>"CZY" And (Гарантийное_Temp.[Product Class])<>"CZJ") AND ((Гарантийное_Temp.NAIMBAD)="") AND ((DateAdd("m",[WARRANTYM],[WARRANTYS]))>Date()))
ORDER BY Гарантийное_Temp.Ware, Гарантийное_Temp.BARCODE1;
6 окт 06, 10:59    [3229095]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
ANTIVIR
Member

Откуда: МосквА
Сообщений: 1219

Может потому что для первого запроса нет записей удовлетворяющих условию, а во втором есть?


Posted via ActualForum NNTP Server 1.3

6 окт 06, 11:02    [3229108]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
Daroteya
Member

Откуда: Москва
Сообщений: 106
В тщм-то и дело, что есть, если бы я умела присоединять рисунок...
6 окт 06, 11:07    [3229147]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
Daroteya
Member

Откуда: Москва
Сообщений: 106
(img)http://g.foto.radikal.ru/0610/917a031914fb.jpg(/img)
6 окт 06, 11:28    [3229288]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
ANTIVIR
Member

Откуда: МосквА
Сообщений: 1219

Подскажите , а как там определить где в поле Null, а где "" ?


Posted via ActualForum NNTP Server 1.3

6 окт 06, 11:29    [3229300]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
Daroteya
Member

Откуда: Москва
Сообщений: 106
поле NAMEBAD текстовое, там могут быть либо слова, либо пустое поле, я пыталась сделать выборку по полю KODBAD, он числовое, если делать выборку по =0, то все нормально работает, делаешь "0" And "" опять перестает работать :(

ЗЫ что я делаю неправильно во вставке картинки? как правильно код написать надо?
6 окт 06, 11:34    [3229333]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10502
ANTIVIR

Подскажите , а как там определить где в поле Null, а где "" ?


Posted via ActualForum NNTP Server 1.3

проверить.
но проще проверять так NZ(поле,"")=""
6 окт 06, 11:34    [3229334]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
Daroteya
Member

Откуда: Москва
Сообщений: 106
[img]http://g.foto.radikal.ru/0610/917a031914fb.jpg[/img]
6 окт 06, 11:36    [3229345]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
ANTIVIR
Member

Откуда: МосквА
Сообщений: 1219
barrabas
ANTIVIR

Подскажите , а как там определить где в поле Null, а где "" ?

проверить.
но проще проверять так NZ(поле,"")=""

Я говорил про рисунок, как там функцию NZ применить, подскажите пожалуйста...
6 окт 06, 11:39    [3229371]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
Daroteya
Member

Откуда: Москва
Сообщений: 106
что за функция NZ?
6 окт 06, 11:44    [3229408]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
DiDis
Member

Откуда: Старый Оскол, Белгородская обл.
Сообщений: 862
Используйте функцию Nz для возвращения нулевого значения, пустой строки (" ") или другого указанного значения, когда переменная типа Variant имеет значение Null. Например, эту функцию можно использовать при преобразовании значения Null в другое значение, чтобы предотвратить использование нулевого значения в выражении.

F1
6 окт 06, 11:46    [3229429]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
Daroteya
Member

Откуда: Москва
Сообщений: 106
то есть мне надо в запрос сначала нужно ставить: NZ(((RMA.NAIMBAD),""="0"));а потом WHERE (((RMA.NAIMBAD)="0")); так?
6 окт 06, 11:54    [3229486]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
Daroteya
Member

Откуда: Москва
Сообщений: 106
пишет "ошибки синтаксиса"
6 окт 06, 11:57    [3229503]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10502
select *
from table 
where NZ(pole,"")=""
6 окт 06, 11:58    [3229510]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10502
Кто спавку читать будет? Что F1 на клавиатуре нету?
Справка Access
Функция Nz возвращает нуль, пустую строку ("") или другое указанное значение, если переменная типа Variant имеет значение Null. Например, эту функцию используют для преобразования значений Null в другое значение при работе с выражениями, не допускающими пустых значений.

Синтаксис

Nz(variant[, представление])

Функция Nz использует следующие аргументы.

Аргумент Описание
variant Переменная с типом данных Variant.
представление Необязательный аргумент (если не используется в запросе). Значение типа Variant, которое возвращается, если аргумент variant имеет значение Null. Данный аргумент позволяет возвращать значение, отличное от нуля или пустой строки. Если функция Nz используется в выражении в запросе без аргумента «Представление», то результатом будет пустая строка в полях, содержащих значения null
Если аргумент variant имеет значение Null, функция Nz возвращает нуль или пустую строку, в зависимости от контекста, требующего числовое или строковое значение. Если указан необязательный аргумент представление, то функция Nz возвращает это значение при пустом значении аргумента variant.
Если аргумент variant имеет значение, отличное от значения Null, то функция Nz возвращает значение аргумента variant.

Дополнительные сведения

Функцию Nz используют при работе с выражениями, в которых могут оказаться пустые значения. Для того чтобы это выражение возвращало непустое значение при любых значениях входящих в него компонентов, следует с помощью функции Nz определить замену пустых значений на нули, пустые строки или любое специальное значение, представляющее пустые значения.
Например, выражение 2 + varX возвращает значение Null, если переменная varX типа Variant имеет значение Null. Однако выражение 2 + Nz(varX) в этом случае возвращает значение 2.

Функцию Nz часто используют как альтернативу функции IIf. Например, в следующей конструкции для получения нужных результатов требуются две инструкции с функцией IIf. Первое выражение, содержащее функцию IIf, используется для проверки на пустые значения и преобразования пустых значений в нулевые.

varTemp = IIf(IsNull(доставка), 0, доставка)
varResult = IIf(varTemp > 50, "Больше", "Меньше")

В следующей конструкции функция Nz позволяет выполнить те же действия в одной программной строке.

varResult = IIf(Nz(доставка) > 50, "Больше", "Меньше")

Если указать необязательный аргумент представление, его значение будет возвращаться вместо пустого значения аргумента variant. Использование этого необязательного аргумента позволяет исключить одно выражение, содержащее функцию IIf. Например, следующее выражение использует функцию IIf для возвращения строки, если переменная доставка имеет значение Null.

varResult = IIf(IsNull(доставка), "Бесплатно", доставка)

В следующем примере необязательный аргумент функции Nz указывает строку, которая возвращается, если переменная доставка имеет значение Null.

varResult = Nz(доставка, "Бесплатно")


_____________________________________
Мое конг-фу сильнее твоего
6 окт 06, 12:00    [3229525]     Ответить | Цитировать Сообщить модератору
 Re: выборка по пустой строке  [new]
Daroteya
Member

Откуда: Москва
Сообщений: 106
Всем огромное спасибо за помощь - все работает
6 окт 06, 12:01    [3229542]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить