Ich habe ein optionales Feld in einer Datenbank, die ich ein DAO Record Set bin mit herausziehen. Ich muss überprüfen, ob das Feld festgelegt ist, bevor ich es mit anderen Feldern verkette. Bisher habe ich den folgenden Code-Schnipsel, die ich versucht habe, mit dem beide Is
und =
(das ist die offensichtlich falsche Syntax [[Is | =]]
) ohne Erfolg. Es scheint, dass, wenn ich =
verwenden Sie es nicht richtig mit Null
zu vergleichen, und wenn ich Is
verwenden dann klagt er, dass es nicht mit einem Objekt zu vergleichen.Wie können Sie in einem VBA-DAO-Datensatz auf Null überprüfen?
Wenn es einen einfacheren Weg gibt, bin ich völlig offen dafür. prettyName dauert 3 Strings als Parameter und anfangs war ich versuche nur rs.Fields („Middle“) direkt zu übergeben, aber es warf einen Nullwert auf. Ich würde es vorziehen, etwas direkter zu machen, aber das ist das Beste, was ich mir vorstellen kann.
Clever Trick, aber zwischen der + auf diesen eher obskuren Unterschied zu verlassen und & Betreiber ist riskant, imo. Wenn jemand später zurückgeht und versucht, den Code aufzuräumen, kann er aus Gründen der Konsistenz entscheiden, alle + mit & zu ersetzen, oder umgekehrt, ohne zu merken, dass er das Verhalten ändert. –
Ich mache mir nicht allzu viele Gedanken über die Möglichkeit, dass jemand, der die Grundlagen der Verkettungsoperatoren von Jet SQL nicht versteht, Dinge vermasselt. Sie könnten ebenso eine UDF, die für den gleichen Zweck erstellt wurde, einfach so vermasseln, weil sie nicht versteht, wie sie funktioniert. –
Einverstanden, zu wissen, wie Betreiber arbeiten, ist ziemlich grundlegende Sachen. – onedaywhen