Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo!

Mein Problem ist folgendes: Ich möchte eine Summe von ausgewählten Daten berechnen lassen, diese anschließend ausgeben. Bei der Abfrage, ob der Ausdruck rsDSumme.Fields("Summe") = Null ist wird aber immer nur der Else-Teil abgearbeitet.

Der Teil des Codes, in der die Abfrage erfolgt (VB):

Set rsDSumme = db.OpenRecordset(strSQLDSumme, dbOpenSnapshot)

If rsDSumme.Fields("Summe") = Null Then

dbSumme = 0

dbTage = 0

Else

dbSumme = rsDSumme.Fields("Summe")

dbTage = dbSumme / 8

End If

Meine Frage: Wieso wird immer nur der Else-Teil abgearbeitet, auch wenn rsDSumme.Fields("Summe") = Null ????

Gruss Lady

Also wenn ich wissen möchte ob was im Recorset steht dann frage ich es so ab:

Recordset.RecordCount <> 0

Weil wenn bei deiner Abfrage ja nix drinne steht, dann muss es ja auch nicht abgearbeitet werden, oder?

Um so länger ich drüber nachdenke ... könntest du Recht haben.

Brauche aber irgendeine Abfrage, von wegen "wenn rsDSumme.Fields("Summe") = Null" oder auch "wenn rsDSumme.RecordCount <> 0" (funktioniert auch nicht) dann ...

Denn ich bekomme jedesmal, wenn ich den letzten Datensatz für einen Benutzer gelöscht habe, aber die Summe seiner aufgewendeten Stunden aktualisieren möchte folgende Fehlermeldung:

"Laufzeitfehler 94: Ungültige Verwendung von Null"

Die aktuelle Summe muss aber ausgegeben werden, auch wenn sie 0 ist.

Gruss Lady

dann versuch mal:

if isnull(rsDSumme!Summe) = True then

else

endif

Vieilleicht hilft das besser

kannst dir ja auch mal rsDSumme.Fields("Summe") ausgeben lassen.

bekommst du da wirklich Null zurück wenn es Null ist?

oder bekommst du vielleicht vbNull zurück oder "" oder sonst was. das würde erklären wieso immer der else zweig eingeschlagen wird

und nochwas:

zum abfragen ob ein recordset gefüllt immer besser so:

if not (rsDSumme.BOF AND rsDSumme.EOF) then

.

.

.

end if

Noch mal danke an euch alle!

Jetzt funktioniert es endlich. g_nikolai's Tipp hat geholfen!

Gruß

Lady

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.