2011-02-08 3 views
0

Возможно, это ответили в другом месте, но я не могу его найти!Установка значения по умолчанию в пустое поле в запросе доступа

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

Я хочу установить значение по умолчанию нуля, где пусто, вместо того, чтобы иметь нож и разветвлять запрос в другую таблицу и запускать запрос на обновление по всем пустым полям.

Должно быть что-то проще! ПОМОГИТЕ!

+1

КИРП() или Nz() следует сделать трюк, но не могли бы вы изменить свой вопрос, чтобы включить ваш запрос? – JohnK813

+0

@ JohnK813 Я думаю, что вы можете опубликовать это как ответ :) – Fionnuala

+0

Вы хотите изменить структуру таблицы, чтобы поля имели значения по умолчанию, или вы хотите обновить существующие данные, чтобы избавиться от всех Nulls, или вы просто хотите преобразовать их в какое-то значение на уровне поиска или презентации данных? Вам нужны Нули? Значимо ли значение или 0 (или другое подходящее значение по умолчанию) более полезно? –

ответ

1

Дайте этому попытку:

SELECT 
nz(value1, 0), nz(value2,0), nz(value3,0) 
FROM table1 left outer join table2 on table1.column = table2.column 

, если ваш запрос не напоминает то, что ответил (декартовой) Джон тогда его ответ более уместно .... (картезианцы опасны, если не используется правильно ... в зависимости насколько велики могут быть созданы отдельные таблицы, вы можете убить приложение доступа, используя их)

0

Вы либо захотите использовать Nz(), либо iif(), в зависимости от того, действительно ли это «пустое» просто пустое (пустая строка) или Null.

Так что ваши варианты:

SELECT Nz(source1.a + source2.b,0) FROM source1, source2 

или:

SELECT iif(source1.a + source2.b <> "", source1.a + source2.b, 0) FROM source1, source2 
+0

Я боюсь, что вы должны использовать Nz для каждого поля (столбец), или null будет возвращено, если одно из полей равно null. – Fionnuala

+1

просто для того, чтобы немного расширить ваш пример ... вы можете сделать «nz (source1.a) как val1, nz (source2.b, 0) как val2, val1 + val2 как total» со ​​всеми соответствующими скобками курс – Patrick

Смежные вопросы