Hej som ni ser i följande kod snutt så jag har gjort loop, där jag loopar ut en tid från Menar du något sånt här? Annars är det ju bara att förvandla tiden till en sträng (om den inte är det) och sedan ta bort första nollan :Hjälp med en LOOP!
00:00 till 03:00 vart 15:de minut i en select box. Den valda tiden ska vidare sparas i en databas
<code>
<%
varStartTid = Cdate("00:00")
varSlutTid = Cdate("03:00")
varInterval = "15" ' i minuter
Response.Write "<SELECT name=select1>"
Do Until varStartTid > varSlutTid
Response.Write "<OPTION>" & FormatDateTime(varStartTid,vbShortTime) & "</OPTION>"
varStartTid = DateAdd("n",varInterval,varStartTid)
Loop
Response.Write "</SELECT>"
%>
</code>
resultatet blir något så här:
<info>
00:15
00:30
00:45
</info>
osv osv.
det är glasklart... funkar hu fint som helst MEN....
nu är det så att jag vill avrunda det inlagda talet som jag vid nån senare tillfälle ska hämta.
Så att om tiden är 00:15 så ska den allstå istället visa endast 15 minuter
och om den den står över 01:15 så ska den då visa 1:15
Tacksam för svar!Sv: Hjälp med en LOOP!
Jag tror att du kan använda DatePart ihop med en IF sats.
<info>
IF DinTid ="00:15" THEN
DinTid = DatePart("n",DinTid)
END IF
</info>
Om det är så att det bara är 00:15 tiden som ska avrundas.
//Anna-KarinSv: Hjälp med en LOOP!
<code>
<%
Dim vTime
Response.Write "<SELECT name=select1>"
Response.Write "<OPTION>0</OPTION>"
Response.Write "<OPTION>15</OPTION>"
Response.Write "<OPTION>30</OPTION>"
Response.Write "<OPTION>45</OPTION>"
For vTime = CDate("1:00") To CDate("03:00") Step CDate("00:15")
Response.Write "<OPTION>" & FormatDateTime(varStartTid, vbShortTime) & "</OPTION>"
Next
Response.Write "</SELECT>"
%>
</code>Sv: Hjälp med en LOOP!
tid = right(tidpunkt,4)
du kan sätta fyra, eftersom alla tider är lika långa.
Beroende på om du har datetime som datatyp eller sträng så får du kanske använda formatdatetime först för att se till att tiden är i shorttime format.
/C