Ir para conteúdo
Fórum Script Brasil
  • 0

Sql


@line

Pergunta

unsure.gif Olá pessoal.

Estou quebrando a cabeça tentando entender porque o select abaixo não está me trazendo resultados.

É uma função para consultar no banco se determinada data é feriado. Só que parece que a cláusula WHERE com a Data não está legal. Por exemplo, se Data = 02/11/2005, ele teria que trazer uma linha, mas não traz.

Public Function Feriado(Data As Date) As Boolean

SQL = "SELECT Data "
SQL = SQL & "FROM Feriados "
SQL = SQL & "WHERE Data = " & Data
Set RSM = DB.Execute(SQL)

If RSM.EOF Then
    Feriado = False
Else
    Feriado = True
End If

End Function

O campo Data da tabela Feriados está definido como Data/Hora. E tanto a data que o vb passa na instrução SQL como as datas que estão na tabela estão no formato "dd/mm/yyyy".

Alguém poderia me ajudar???

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Public Function Feriado(Data As Date) As Boolean

SQL = "SELECT Data "
SQL = SQL & "FROM Feriados "
SQL = SQL & "WHERE Data =  ' " & format(Data, "yyyy-mm-dd") & " ' "
Set RSM = DB.Execute(SQL)

If RSM.EOF Then
   Feriado = False
Else
   Feriado = True
End If

End Function

Eu alterei seu código...

Vê se dá certo...

CKorneLL.

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta fazer assim:

Public Function Feriado(Data As Date) As Boolean

SQL = "SELECT Data "
SQL = SQL & "FROM Feriados "
SQL = SQL & "WHERE Data =  ' " & format(Data, "mm/dd/yyyy") & " ' "
Set RSM = DB.Execute(SQL)

If RSM.EOF Then
  Feriado = False
Else
  Feriado = True
End If

End Function

Link para o comentário
Compartilhar em outros sites

  • 0

Desta forma dá a mesma mensagem de erro: "Tipo de dados incompatível na expressão de critério."

E se eu colocar sem as aspas, ele não retorna nada:

Public Function Feriado(Data As Date) As Boolean

SQL = "SELECT Data "
SQL = SQL & "FROM Feriados "
SQL = SQL & "WHERE Data =   " & format(Data, "mm/dd/yyyy")
Set RSM = DB.Execute(SQL)

If RSM.EOF Then
 Feriado = False
Else
 Feriado = True
End If

End Function

Link para o comentário
Compartilhar em outros sites

  • 0

Bom... Tenta dessa outra maneira então....

Public Function Feriado(Data As Date) As Boolean

SQL = "SELECT Data "
SQL = SQL & "FROM Feriados "
SQL = SQL & "WHERE Data =   #" & format(Data, "mm/dd/yyyy") & "#"
Set RSM = DB.Execute(SQL)

If RSM.EOF Then
Feriado = False
Else
Feriado = True
End If

End Function

Desse jeito é funcionar.. dry.gif ... eu uso assim...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...