implizite Konvertierung

03/11/2010 - 23:11 von Alexander Bierig | Report spam
Hallo miteinander,

ich habe vielleicht schlecht gesucht, ab so ganz toll fand ich nichts
zur implziten Typenkonvertierung.

dim array() as string, x as long
set rs=adodb.recordset.open (irgend ein sql Statement)
with rs
if not .bof and not .eof then
.movefirst
x=0
do
redim preserver array$(7,x)
array$(0,x)=.fields("boolean_Feld")
...
array$(7,x)=cstr(.fields("Irgendein Zahlenfeld"))
x=x+1
.movenext
loop until .eof

DAU-Frage zu:
array$(0,x)=.fields("boolean_Feld")
das Ja/Nein Feld enthàlt eigentlich was?
Genau doch -1 für true (Wahr) und 0 für False (Falsch)
...je nach seiner Formatierung im Tabellendesign...

Jedenfalls làuft folgendes Statement:
If arr_kriterium$(0, Y) = False Then

Damit findet doch zweimal eine impizite Konvertierung statt.
(es versagt aber: If arr_kriterium$(0, Y) = 0 Then)

Gibt es irgendwo verstàndliche Hinweise zur implizite Konvertierung im
Access 2003 VBA?

Grüsse

Alex. Bierig
 

Lesen sie die antworten

#1 Josef Poetzl
03/11/2010 - 23:18 | Warnen spam
Hallo!

Alexander Bierig schrieb:
array$(0,x)=.fields("boolean_Feld")
das Ja/Nein Feld enthàlt eigentlich was?
Genau doch -1 für true (Wahr) und 0 für False (Falsch)
...je nach seiner Formatierung im Tabellendesign...

Jedenfalls làuft folgendes Statement:
If arr_kriterium$(0, Y) = False Then



arr_kriterium ist als String-Array deklariert und enthàlt bereits
einen String (False wurde je nach Spracheinstellung zu "False" oder
"Falsch").

Im Prinzip hast du folgendes gemacht:

array$(0,x) = cstr(.fields("boolean_Feld"))
' wenn .fields("boolean_Feld") als Boolean-Wert False enthàlt:
array$(0,x) = cstr(False)
...
if arr_kriterium$(0, Y) = cstr(False) then ...


Damit findet doch zweimal eine impizite Konvertierung statt.
(es versagt aber: If arr_kriterium$(0, Y) = 0 Then)



.. weil
If arr_kriterium$(0, Y) = cstr(0)
nicht mehr passt, wenn arr_kriterium$(0, Y) entweder "Falsch" oder
"False" ist.


mfg
Josef


Code-Bibliothek für Access-Entwickler: http://access-codelib.net/
Access-FAQ von Karl Donaubauer: http://www.donkarl.com/

Ähnliche fragen