Visual Basic, VB .NET, ASP, Active X, Access, SQL Server

Cuidado ao usar a função Format para formatar datas

Você provavelmente usa a função Format para formatar datas, por exemplo:

    ? Format(Now, "dd/mm/yyyy")      ' => 08/01/2001
    ? Format(Now, "dd+mm+yyyy")      ' => 08+01+2001
Parece que isto é tudo que você precisa saber, certo? Contudo, a história é bem diferente quando as configurações regionais usam um separador de datas diferente da barra. Suponhamos que "-" seja o separador de datas na máquina do usuário final. O resultado do uso do caractere de barra na função Format agora é diferente:
    ? Format(Now, "dd/mm/yyyy")      ' => 08-01-2001  (o novo separador!)
    ? Format(Now, "dd+mm+yyyy")      ' => 08+01+2001
Na maioria dos casos, este comportamento não afetará o seu código: além de tudo, o usuário final irá ver as datas formatadas ao seu jeito. Mas, se você estiver usando o retorno numa instrução SQL, você deverá usar barras. O modo mais simples de garantir que o resultado apareça com o separador de barras é usar um outro caractere e, então, substituí-lo com a barra:
? Replace(Format(Now, "dd_mm_yyyy"),"_","/")   ' => 08/01/2001

Você também pode usar a função DataSQL, que você encontra no final da dica VB: algumas funções sempre úteis.