TRANSFORMAR DATAS PARA COMPARAR

NETOCAZUZA 07/08/2013 10:39:20
#427158
Tenho 3 textbox no meu projeto que trabalham com datas, mas usam formatos diferentes, então gostaria de transformar todos num mesmo padrão para poder fazer alguns cálculos. Exemplo: O primeiro textbox tem apenas o ano (2013) sem formato de data, o segundo tem apenas o mes (Janeiro), sem formato de data também, e o terceiro tem formato de data capturada no sistema (08/2013), então gostaria de transformar os dois primeiros textbox em um só, no formato (01/2013) para poder comparar quantos meses se passaram.
ASHKATCHUP 07/08/2013 10:48:01
#427160
Cria uma variável para unir os dados dos dois primeiros textbox. Depois, compare com o textbox do sistema.

Sugiro concatenar com [Ô]01/[Ô] para que a função DateDiff funcione,


Dim sDataInicial as string
Dim sDataFim as string
[ô]
sDataInicial = [Ô]01/[Ô] & TextBoxMes.Text & [Ô]/[Ô] & TextBoxAno.Text
sDataInicial = Format(sDataInicial,[Ô]dd/mm/yyyy[Ô])
[ô]
sDataFim = [Ô]01/[Ô] & TextBoxSistema,text
sDataFim = Format(sDataFim,[Ô]dd/mm/yyyy[Ô])
[ô]
Me.Caption = DateDiff(sDataFim,sDataInicial,[Ô]m[Ô])
NETOCAZUZA 07/08/2013 14:36:58
#427196
Tá dando erro na seguinte linka ASHAKATCHUP

Me.Caption = DateDiff(sDataFim, sDataInicial, [Ô]m[Ô])

Já substitui por uma label, e por um textbox (text1.text)e mesmo assim continua dando o erro. Run-time error 13 - Type mismatch.
O que pode estar acontecendo?
ASHKATCHUP 07/08/2013 18:10:43
#427219
Neto, tu ta usando VB6 ou VB.NET?

Esse erro significa que alguma função ou variável está recebendo um valor do tipo que não pode guardar.

Exemplo: uma variável integer recebendo um valor strng.

O erro provavelmente está na função [Ô]DateDiff[Ô]. Quais valores que as variáveis sDataInicial e sDataFim possuem quando o erro acontece?
Faça seu login para responder