PDA

Vollständige Version anzeigen : Probleme bei if mit leeren Feldern


Blubberer
11.06.2001, 20:35
Hallo,
ich versuche aus einer Tabelle Emailaddressen in eine emailnachricht zu packen.
Klappt auch, solange keines der Felder leer ist. Sobald ein Feld leer ist bekomme ich von dort an keine addresses mehr.
Die Addressen davor bleiben erhalten und erscheinen in Outlook. Waere fuer einen Tip dankbar, benutze folgenden Code:
For iCount = 1 To numberofentries
If Not IsNull(rs![E- mail]) Then
sAn = sAn + rs![E- mail] + ";"
rs.MoveNext
End If
Next

Blubberer

MarioR
11.06.2001, 20:53
Hallo,

nimm mal rs.MoveNext hinter EndIf.
Du tritts nämlich auf der Stelle, sobald einmal das Feld Null war.

Stema
12.06.2001, 09:00
Hallo,
andere Möglichkeit.

(evtl.: rs.MoveFirst)
Do While Not rs.EOF
If Not IsNull(rs![E- mail]) Then sAn = sAn + rs![E- mail] + ";"
loop

Gruß Stema

A.S.
12.06.2001, 09:07
rs.movenext

ohne das movenext eiert er weiterhin auf der stelle! ;)

Gruß

Arno

gloria
12.06.2001, 12:13
hi,
reicht nicht nur auch nach leeren Strings zu selektieren:

If IsNull(rs![E- mail]) or (rs![E- mail])=" " or (rs![E- mail])="" Then
MsgBox "Kein Inhalt"
else
sAn = sAn + rs![E- mail] + ";"
rs.MoveNext
End If
Next

ciao glori

MarioR
12.06.2001, 13:42
Hallo Glori,

auch bei Deinem Vorschlag ist wieder das Problem, daß immer der gleiche DS beackert wird sobald das Programm einmal im Wahr-Teil gelandet ist.

Glaub mir, das MoveNext muß hinter EndIf. ;)

Stema
12.06.2001, 13:47
Da kann ich nicht widersprechen! ;-)

toja
12.06.2001, 17:25
hallo blubberer,
vielleicht solltest du es gar nicht zulassen, dass leere Felder in deiner Tabelle drinstehen (Stichwort: konsistente Datenbasis, Normalisierung),
wahrschl. am schnellsten (und zugegebenermaßen aus der ferne beurteilt am unsaubersten) zu erreichen durch die vergabe des primärschlüssels auf diese spalte

viele grüsse toja