|
|
|
|
|
Dicas
|
|
Visual Basic (Validações)
|
|
|
Título da Dica: formatar hora para qualquer banco
|
|
|
|
Postada em 27/6/2007 por Jailton Sampaio
jailton_sampaio@hotmail.com
Function FormataNumHora(nCampo As String) As String Dim lStrRetorno As String Select Case gDatDatabase Case eAccess lStrRetorno = "Format(Val(" & nCampo lStrRetorno = lStrRetorno & "),'00') & ':' & Format(((" & nCampo lStrRetorno = lStrRetorno & "*60) Mod 60),'00') " FormataNumHora = lStrRetorno Case eOracle FormataNumHora = " TO_CHAR(Floor(" & nCampo & "),'00') || ':' || LTRIM(TO_CHAR(((" & nCampo & ")-FLOOR((" & nCampo & ")))*60,'00'))" Case eSybase, eSQL lStrRetorno = " CASE LEN(RTRIM(CONVERT(CHAR(02),CONVERT(INT,ISNULL(" & nCampo lStrRetorno = lStrRetorno & ",0))))) WHEN 1 THEN '0' + RTRIM(CONVERT(CHAR(02),CONVERT(INT,ISNULL(" & nCampo lStrRetorno = lStrRetorno & ",0)))) ELSE RTRIM(CONVERT(CHAR(02),CONVERT(INT,ISNULL(" & nCampo & ",0)))) END + ':' + CASE LEN(CONVERT(INT,ROUND((ISNULL(" & nCampo lStrRetorno = lStrRetorno & ",0) - CONVERT(INT,ISNULL(" & nCampo & ",0)))*60,0))) WHEN 1 THEN '0' + convert(varchar,convert(int,round((ISNULL(" & nCampo lStrRetorno = lStrRetorno & ",0) - CONVERT(INT,ISNULL(" & nCampo & ",0)))*60,0))) ELSE " lStrRetorno = lStrRetorno & "convert(varchar,convert(int,round((ISNULL(" & nCampo lStrRetorno = lStrRetorno & ",0) - CONVERT(INT,ISNULL(" & nCampo & ",0)))*60,0))) END " FormataNumHora = lStrRetorno End Select End Function
|
|
|
|
|