CONSULTA DAO
Tenho no meu projeto um form que filtra os lançamentos por ano e mes com o seguinte código:
Private Sub Command_Click(Index As Integer)
Dim sql1 As String
sql1 = [Ô]select * from conta where ano=[Ô] & txtAno & [Ô]And mes=[Ô][Ô]txtMes&[Ô][Ô][Ô]
Data1.RecordSource = sql1
Data1.Refresh
End Sub
Onde estou errando que o DBGrid tá aparecendo zerado? Inicialmente no load, ele tá cheio de informações, quando filtro por ano e mes, para reduzir o número de registros, o grid aparece em branco. Onde estou errando?
Private Sub Command_Click(Index As Integer)
Dim sql1 As String
sql1 = [Ô]select * from conta where ano=[Ô] & txtAno & [Ô]And mes=[Ô][Ô]txtMes&[Ô][Ô][Ô]
Data1.RecordSource = sql1
Data1.Refresh
End Sub
Onde estou errando que o DBGrid tá aparecendo zerado? Inicialmente no load, ele tá cheio de informações, quando filtro por ano e mes, para reduzir o número de registros, o grid aparece em branco. Onde estou errando?
No banco tem um campo exclusivo para ano e outro para mês ?
Porque você colocou tantas aspas no txt mes?
Se possÃvel coloque o resultado da variavel sql1.
Porque você colocou tantas aspas no txt mes?
Se possÃvel coloque o resultado da variavel sql1.
NETOCAZUZA, Quando vc está pesquisando um campo do tipo texto, voce deve usar aspas simples e não duplas.
Tem sim ROBSON.
Devo usar aspas simples em todo o sql, ou na parte relativa aos textbox SAMUKA?
Devo usar aspas simples em todo o sql, ou na parte relativa aos textbox SAMUKA?
Sempre que vc atribuir o valor texto para um campo que seja to tipo texto, é preciso que o valor esteja entre aspas simples.
Se for numero não é preciso. Só tome cuidado que se estiver utilizando uma instrução SQL, o separador decimal de numeros é PONTO e não virgula.
Se for numero não é preciso. Só tome cuidado que se estiver utilizando uma instrução SQL, o separador decimal de numeros é PONTO e não virgula.
Um teste feito retornou de forma satisfatória.
sql1 = [Ô]select * from Parcelas where ano=[Ô] & txtano & [Ô] And mes=[ô][Ô] & txtmes & [Ô][ô][Ô]
sql1 = [Ô]select * from Parcelas where ano=[Ô] & txtano & [Ô] And mes=[ô][Ô] & txtmes & [Ô][ô][Ô]
Siga a sugestão do Samuka,
Em consulta SQL sempre use aspas simples para campos textos.
Mesmo que tenha obtido sucesso com aspas duplas você esta fugindo ao padrão e ira ter problemas com outras linguagens
Um macete simples é voce enviar o resultado da consulta para a tela de debug. desta maneira você pode copiar e colar aqui no fórum e\ou observar com precisao como a consulta esta sendo montada. SQL é muito simples e poderoso, mas um simples erro de sintaxe inutiliza a consulta.
Em consulta SQL sempre use aspas simples para campos textos.
Mesmo que tenha obtido sucesso com aspas duplas você esta fugindo ao padrão e ira ter problemas com outras linguagens
Um macete simples é voce enviar o resultado da consulta para a tela de debug. desta maneira você pode copiar e colar aqui no fórum e\ou observar com precisao como a consulta esta sendo montada. SQL é muito simples e poderoso, mas um simples erro de sintaxe inutiliza a consulta.
NETOCAZUZA, a duvida foi resolvida?
Ainda não, mas to tentando ainda.
Faça seu login para responder