Каков правильный формат DLookup и Nz (), когда поле в таблице имеет значение Null?

Вы можете использовать sed 's/ //g' для удаления любых пробелов в строке. Таким образом, полная команда будет:

echo "$value" | sed 's/ //g' | tr ',' ' ' | wc -w
1
задан Erik A 18 January 2019 в 20:16
поделиться

1 ответ

В вашем коде есть два хитрых места для нулевых значений:

  1. Если Forms![Press 2]![Containment - Press 2 subform].Form![Part Number] равно нулю, DLookUp будет обрабатываться неправильно, так как вы включаете его как строка.

    Исправлено: используйте значение формы в качестве параметра, это также позволяет избежать ошибок внедрения SQL:

    other = DLookup("[Model]", "[Part Number & Part Name]", "[Part Number]= Forms![Press 2]![Containment - Press 2 subform].Form![Part Number]")
    
  2. Вы сохраняете результат DLookUp в строке. Вы можете использовать Nz здесь для возврата другой строки или объединить строку нулевой длины с результатом DLookUp, чтобы обработать значение Null в виде строки нулевой длины:

    other = VbNullString & DLookup("[Model]", "[Part Number & Part Name]", "[Part Number]= Forms![Press 2]![Containment - Press 2 subform].Form![Part Number]")
    
  3. [119 ]

    Это должно охватывать все места, где нули могут мешать этой части кода.

0
ответ дан Erik A 18 January 2019 в 20:16
поделиться