TIPOS DE DADOS INCOMPATIVEIS COM O CRITERIO

MARCELOFAZAN 12/06/2010 19:13:33
#344698
Pessoal, no select acho que nao estou tratadando corretamente , pois o campo é numerico
e acho que no meu select nao tá

qual comando encaixar me da erro nessa linha Set Rs = conexao.Execute(sql)

If Txt.Text <> [Ô][Ô] Then
If Txt2.Text <> [Ô][Ô] Then
sql = [Ô]Select * From frequencia Where aluno =[ô][Ô] & Text1.Text & _
[Ô][ô] AND(Data Between #[Ô] & Format(Txt.Text, [Ô]mm/dd/yyyy[Ô]) & _
[Ô]# And #[Ô] & Format(Txt2.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#)[Ô]
Else
sql = [Ô]Select * From Frequencia where aluno =[ô][Ô] & Text1.Text & [Ô][ô][Ô]
End If
Else
sql = [Ô]Select * From Frequencia where aluno =[ô][Ô] & Text1.Text & [Ô][ô][Ô]
End If

no caso, aluno é numerico, na tabela acess, preciso colocar algo val( ) , como colocar aluno como numerico para consultar no select apartir de um textbox

Obrigado
Abs
Marcelo Fazan
JESUEL.OLIVEIRA 12/06/2010 19:31:06
#344699
Amigo, muita aspas e apostrofe tente conforme abaixo.


   sql = [Ô]Select * From Frequencia where aluno = [Ô] & Text1.Text 


 [Ô]SELECT * From tbl_9828 WHERE (((tbl_9828.MinhaData) Between #[Ô] & Format(Me.mask1.Text, [Ô]mm/dd/yy[Ô]) & [Ô]# And #[Ô] & Format(Me.mask2.Text, [Ô]mm/dd/yy[Ô]) & [Ô]#));[Ô]  
ASHKATCHUP 12/06/2010 19:32:12
#344700
Na sua SQL, você está tratando o campo ALUNO como texto. Retire as aspas simples antes da concatenação com o textbox.


sql = [Ô]Select * From Frequencia where aluno = [Ô] & Text1.Text
LIZANDER 12/06/2010 19:32:48
#344701
Bom Marcelo...

Se Aluno é numérico no banco de dados, para que a aspas antes e depois do text1.text? As aspas são somente para campos texto...

Agora precisa tomar cuidado com o conteúdo de txt.text, pois vc o formata como data, e o mais correto, nesses casos, ao meu ver, seria usar um dtpicker e não um textbox para um campo data (apenas sugestão).

Um abraço!
LIZANDER 12/06/2010 19:34:07
#344702
Putz! Entrou três falando a mesma coisa.. rsrsrs... Ainda bem que a resposta foi a mesma!!!
MARCELOFAZAN 12/06/2010 19:54:53
#344703
sql = [Ô]SELECT * From frequencia WHERE (((frequencia.aluno) Between #[Ô] & Format(Txt.Text, [Ô]mm/dd/yy[Ô]) & [Ô]# And #[Ô] & Format(Txt2.Text, [Ô]mm/dd/yy[Ô]) & [Ô]#));[Ô]


com esse exemplo como assimilo que (frequencia.aluno) = text1.txt ..... por que nao consigui encaixar and logo apos falta algum operador
MARCELOFAZAN 12/06/2010 20:02:29
#344704
sql = [Ô]SELECT * From frequencia WHERE (((frequencia.aluno) Between #[Ô] & Format(Txt.Text, [Ô]mm/dd/yy[Ô]) & [Ô]# And #[Ô] & Format(Txt2.Text, [Ô]mm/dd/yy[Ô]) & [Ô]#));[Ô]


com esse exemplo como assimilo que (frequencia.aluno) = text1.txt ..... por que nao consigui encaixar and logo apos falta algum operador
JESUEL.OLIVEIRA 12/06/2010 20:07:00
#344705
Teste

onde esta STR_Dt_Inicial encaixe o data formatada.

 Select * From frequencia Where (ALUNO = [Ô] & TEXT & [Ô]  AND Data Between [Ô] & STR_Dt_Inicial & [Ô] AND [Ô] & STR_Dt_Final & [Ô])  
MARCELO.TREZE 12/06/2010 20:22:38
#344706
Resposta escolhida
assim

então a função postada inicialmente ficaria assim

If Txt.Text <> [Ô][Ô] Then
If Txt2.Text <> [Ô][Ô] Then
sql = [Ô]Select * From frequencia Where [Ô] & _
[Ô](Data Between #[Ô] & Format(Txt.Text, [Ô]mm/dd/yyyy[Ô]) & _
[Ô]# And #[Ô] & Format(Txt2.Text, [Ô]mm/dd/yyyy[Ô]) & [Ô]#)[Ô] & _
[Ô] And (aluno =[Ô] & Text1.Text & [Ô])[Ô]

Else
sql = [Ô]Select * From Frequencia where aluno =[Ô] & Text1.Text
End If
Else
sql = [Ô]Select * From Frequencia where aluno =[Ô] & Text1.Text
End If

MARCELOFAZAN 18/06/2010 14:06:53
#345202
Obrigado Trezeeee
Funciono Obrigado
Tópico encerrado , respostas não são mais permitidas