Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

luisfel

Se o campo data vier vazio, o que faço???

Recommended Posts

Estou fazendo uma busca avançada, entre os tipos de busca, ofereço a busca entre datas... Se digito o intervalo de dados no form, funciona belezinha...agora c o campo vier vazio, aparece a seguinte mensagem:Type mismatch: 'datai' Entendo q isto aparece pois meu select está esperando uma data e tá vindo um campo vazio, porém como faço pra resolver isso???Abaixo coloco o pedaço do meu código, pra dar uma idéia do meu problema:chave = Request("assunto")aut = Request("autor")tem = Request("tema")are = Request("area")datai = Request("dataini")Data_Dia = Day(datai)if Data_Dia < 10 thenData_Dia = "0" & Data_DiaEnd ifData_Mes = Month(datai)IF Data_Mes < 10 thenData_Mes = "0" & Data_MesEnd ifData_Ano = Year(datai) Datai = "{d '" & Data_Ano & "-" & Data_Mes & "-" & Data_Dia & "'}"dataf = Request("datafim")Data_Dia = Day(dataf)if Data_Dia < 10 thenData_Dia = "0" & Data_DiaEnd ifData_Mes = Month(dataf)IF Data_Mes < 10 thenData_Mes = "0" & Data_MesEnd ifData_Ano = Year(dataf) Dataf = "{d '" & Data_Ano & "-" & Data_Mes & "-" & Data_Dia & "'}"sql_execute1 = "SELECT temas.id,critica.id,temas.tema,critica.tema,critica.dia,critica.assunto,critica.autor,critica.critica,critica.area FROM temas INNER JOIN critica ON temas.tema=critica.tema where critica.assunto like '%" & chave & "%' and critica.autor like '%" & aut & "%' and critica.tema like '%" & tem & "%' and critica.area like '%" & are & "%' and dia >= " & datai & " AND dia <= " & dataf & " ORDER BY critica.dia DESC"Obs: No meu banco (access) o campo dia está definido como "dia/hora"Antecipadamente Obrigado Pela AJuda,Luis Felipe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Felipe:

 

O erro que está dando, não se refere ao teu Select, mas sim à linha onde consta: Data_Dia = Day(datai). Uma vez que, como você disse, esse erro ocorre quando o campo data está vazio, nessa linha você está tentando passar um valor nulo para a função Day.

 

Para evitar esse erro, te aconselho a validar o teu formulário antes do processamento dos dados.

 

Você pode tentar algo do tipo:

 

chave = Request("assunto")aut = Request("autor")tem = Request("tema")are = Request("area")if (Request("dataini") <> ''") AND (Request("datafim") <> "") then    datai = Request("dataini")    Data_Dia = Day(datai)    if Data_Dia < 10 then        Data_Dia = "0" & Data_Dia    End if    Data_Mes = Month(datai)    IF Data_Mes < 10 then        Data_Mes = "0" & Data_Mes    End if    Data_Ano = Year(datai)     Datai = "{d '" & Data_Ano & "-" & Data_Mes & "-" & Data_Dia & "'}"    dataf = Request("datafim")    Data_Dia = Day(dataf)    if Data_Dia < 10 then        Data_Dia = "0" & Data_Dia    End if    Data_Mes = Month(dataf)    IF Data_Mes < 10 then        Data_Mes = "0" & Data_Mes    End if    Data_Ano = Year(dataf)     Dataf = "{d '" & Data_Ano & "-" & Data_Mes & "-" & Data_Dia & "'}"    DTComp = "AND dia BETWEEN #" & datai & "# AND #" & dataf & "# "else    DTComp = ""end ifsql_execute1 = "SELECT temas.id,critica.id,temas.tema,critica.tema,critica.dia,critica.assunto,critica.autor,critica.critica,critica.area FROM temas INNER JOIN critica ON temas.tema=critica.tema where critica.assunto like '%" & chave & "%' and critica.autor like '%" & aut & "%' and critica.tema like '%" & tem & "%' and critica.area like '%" & are & "%' " & DTComp & " ORDER BY critica.dia DESC"

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.