PDA

Vollständige Version anzeigen : Zeiten Berechnen...


A.S.
16.07.2001, 16:17
Hi,

mag jetzt eine absolute Dau-Frage sein, aber in VB kenne ich mich noch nicht so gut aus....

Fakt:

2 Textboxen

- txtVonZeit; DataFormat: Time (hh:nn)
- txtBisZeit; DataFormat: Time (hh:nn)

4 Formularmodulvariablen

- varStartTime As Variant
- varEndTime As Variant
- varCalcBegin As Variant
- varCalcEnd As Variant

1 bzw. mehrere Formeln zur Zeitberechnung

varCalcBegin = txtVonZeit.Text
varCalcBegin = varCalcBegin - varStartTime

Bei Ausführung der 2ten Berechnung erhalte ich einen Fehler 13 "Typen unverträglich". varStartTime wurde vorher im Format "hh:nn" gefüllt:

Beispiel:

varStartTime: 05:00
varEndTime: 23:59
txtVonZeit.Text: 06:30
txtBisZeit.Text: 21:00

Als Ergebnis sollte eigentlich 01:30 herauskommen, kommt aber der schöne Fehler da oben....

Werd gleich auch meine Bücher wälzen, für Hilfe währe ich trotzdem dankbar....

Gruß

Arno

Stefan Kulpa
16.07.2001, 17:02
<font face="Verdana" size="2">Hallo Arno,

ich hab' das mal versucht nachzubilden (Berechnung über einen CommandButton ...), aber hier geht's ja um ein generelles Problem:</font>

<PRE><FONT SIZE=1 FACE=Courier New><FONT COLOR=#000080>Dim</FONT> dtStartTime <FONT COLOR=#000080>As</FONT> Date
<FONT COLOR=#000080>Dim</FONT> dtEndTime <FONT COLOR=#000080>As</FONT> Date
<FONT COLOR=#000080>Dim</FONT> dtCalcBegin <FONT COLOR=#000080>As</FONT> Date
<FONT COLOR=#000080>Dim</FONT> dtCalcEnd <FONT COLOR=#000080>As</FONT> Date
<FONT COLOR=#808080><HR></FONT>

<FONT COLOR=#000080>Private</FONT> <FONT COLOR=#000080>Sub</FONT> Command1_Click()

dtStartTime = <FONT COLOR=#000080>CDate</FONT>("05:00")
dtEndTime = <FONT COLOR=#000080>CDate</FONT>("23:59")

dtCalcBegin = txtVonZeit.Text
dtCalcBegin = dtCalcBegin - dtStartTime

<FONT COLOR=#000080>End</FONT> <FONT COLOR=#000080>Sub</FONT>
<FONT COLOR=#808080><HR></FONT>

<FONT COLOR=#000080>Private</FONT> <FONT COLOR=#000080>Sub</FONT> Form_Load()

txtVonZeit.Text = <FONT COLOR=#000080>CDate</FONT>("06:30")
txtBisZeit.Text = <FONT COLOR=#000080>CDate</FONT>("21:00")

<FONT COLOR=#000080>End</FONT> <FONT COLOR=#000080>Sub</FONT>
<FONT COLOR=#808080></FONT>

</FONT></PRE>

<font face="Verdana" size="2">Ich empfehle Dir statt Variant den Datentyp Date zu nutzen und überall ein explizites Casting mit CDate() durchzuführen. Die Control-Eigenschaft DataFormat gilt eigentlich nur für gebundene Felder - arbeitest Du hier mit gebundenen Controls?

Auf jeden Fall sollte es so klappen,

Gruß</font>

A.S.
16.07.2001, 19:26
Danke Stefan...

schau doch mal bitte in Dein Postfach ;)

Gruß

Arno

PS Hab ich vergessen, wenn ich Dich gleich einmal kurz telefonisch "belästigen" dürfte, währe ich Dir verbunden, wenn Du mir Deine Rufnummer mitschickst.