Я получил неправильный ответ на DSum, используя переменную. если я поставлю информацию об исправлении, если она получит правильный ответ.

Я, если так, как это работает нормально

xDefect = Nz(DSum("[defects]", "PO_Details", "Fornecedor = 'QMY'"), 0)

Результат QMY10

Если я делаю с переменной

Dim xForner As Variant
Dim xDefect As Byte

xForner = Me.Fornecedor

xDefect = Nz(DSum("[defects]", "PO_Details", "Fornecedor = ' & xforner & '"), 0)
MsgBox "missing:" & xForner & xDefect

Результат QMY0

1
Jean Charles Dreyfus 14 Апр 2019 в 18:29

2 ответа

Лучший ответ

Вы должны объединить переменную:

xDefect = Nz(DSum("[defects]", "PO_Details", "Fornecedor = '" & xforner & "'"), 0)
1
Gustav 14 Апр 2019 в 16:05

Отлаживать! Присвойте строку переменной и посмотрите, что она содержит

Dim condition As String

condition =  "Fornecedor = ' & xforner & '"
MsgBox condition ' Or instead, set a breakpoint
xDefect = Nz(DSum("[defects]", "PO_Details", condition), 0)

condition действительно содержит "Fornecedor = 'QMY'"?

0
Olivier Jacot-Descombes 14 Апр 2019 в 15:36