Forum des VBA-Tutorials

leeres Feld im VBA code rchtig angeben (Access)

Rene, Donnerstag, 02. März 2017, 09:02 (vor 234 Tagen)

Hallo zusammen,

ich versuche verzweifelt, meine Code klar zu machen, wenn Feld leer dann berechne so ansonsten schreibe 0. Der Code hat Problem mit leer sowie mit der 0. Im VBA erkennt er nicht "" oder is null.

Anbei mal mein Code.

DoCmd.RunSQL "UPDATE Packversuchanalyse_Manuelle_Varianteneingabe, Prozesse SET Packversuchanalyse_Manuelle_Varianteneingabe.[Dauer Versorgungsvorgang Zusatzpackmittel_Variante_1] = IIf([Packversuchanalyse_Manuelle_Varianteneingabe].[Zusatzpackmittel_Variante_1]=isnull,[Prozesse].[Dauer]*[Packversuchanalyse_Manuelle_Varianteneingabe].[Anzahl_Ziel_HU_Variante_1],'0') " & _
             "WHERE (((Prozesse.Prozessschritt) = 'Dauer Versorgungsvorgang alle FS einer FK'))"

Ich hoffe auf einen Tipp.

leeres Feld im VBA code rchtig angeben

Martin Asal, Donnerstag, 02. März 2017, 09:29 (vor 234 Tagen) @ Rene

Wenn ich DoCmd lese, bekomme ich immer Bauchschmerzen. CurrentDB.Execute ist performanter. Außerdem sollte man Abfragen auch als Abfragen speichern und im VBA-Code mit deren Namen aufrufen. Intern optimiert Access nämlich gespeicherte Abfragen (Im konkreten Fall könnte ich mir vorstellen, dass das "Iif" irgendwie besser ginge und Access das - ohne es dir unbedingt zu sagen - effektiver umsetzt). Nebenbei ist oft, so wie hier, die Programmpflege einfacher.

Aber das hat erst mal nichts mit deinem Problem zu tun. Und da ich ohnehin nicht weiß, welches Feld du eigentlich meinst und ich auch nicht gerade deine ganze Datenstruktur nachvollziehen möchte, verweise ich dich hiermit einfach auf die Funktion Nz(). Wahrscheinlich ist das die Lösung.

Martin

RSS-Feed dieser Diskussion
powered by my little forum