Tjenare!! Kanske kan vara lite till hjälp: Ska genast testa om det fungerar. Denna frågan hörde egentligen ihop med mitt tidigare inlägg "sql-sträng eller nått" men länken fungerade inte. Nu fungerar den igen.Från konstanter till DB-värde
Jag undrar hur man ska ändra i denna funktion så att värdena loopas ut ifrån en tabell i databasen istället, här loopas dom med hjälp av konstanter?
<code>
Const cIncrement = 60 'Minutes
Const cStartTime = "08:00"
Const cEndTime = "21:00"
Function TimeArray
Dim aryT, tTrackTime , intNumSteps, I
'Build Array of all Times in the Table
tTrackTime = FormatDateTime(cStartTime,3)
intNumSteps = (Datediff("n",cStartTime,cEndTime)/cIncrement)
I = 0
ReDim aryT(intNumSteps)
'Start Loop of Time Values
Do Until I > intNumSteps
aryT(I) = FormatDateTime(tTrackTime)
tTrackTime = DateAdd("n",cIncrement,tTrackTime)
I = I + 1
Loop
TimeArray = aryT
Erase aryT
End Function
</code>Sv: Från konstanter till DB-värde
<code>
Function TimeArray(Recordset, fldStartTime, fldEndTime, fldIncrement)
Dim Pos
Dim Index
Dim Steps
Dim vDate
Dim EndDate
Dim StepDate
Dim Data()
Pos = 0
Do Until Recordset.EOF
vDate = CDate(fldStartTime.Value)
EndTime = CDate(fldEndTime.Value)
Steps = Datediff("n", vDate, EndDate) / fldIncrement.Value
StepDate = DateAdd("n", fldIncrement.Value, 0)
ReDim Preserve Data(Pos + Steps)
For Index = Pos to Pos + Steps
Data(Index) = vDate
vDate = vDate + StepDate
Next
Recordset.MoveNext
Loop
TimeArray = Data
Erase Data
End Function
</code>
Exempel på anrop:
<code>
Dim Tider
Dim rsTemp
Set rsTemp = conn.Execute("SQL fråga")
Tider = TimeArray(rsTemp,rsTemp("StartTime"),rsTemp("StopTime"),rsTemp("Increment"))
</code>Sv: Från konstanter till DB-värde
Tack för hjälpen