INSTUCAO SQL COM FILTRO POR DATA
[ô]Esta rotina está funcionando corretamente
Private Function Contar() As String
Dim SQL As String
Dim QtReg As Integer
Dim QtRegb As Integer
Dim Total1 As Integer
Dim Totalb As Integer
SQL = [Ô]SELECT Count(Tabela1!Ordem) as Total1 From Tabela1[Ô]
Set Tabela1 = vgDb.OpenRecordSet(SQL, dbOpenDynaset)
QtReg = Tabela1!Total1
SQL = [Ô]SELECT Count(Tabela2!Ordem) as Totalb From Tabela2[Ô]
Set Tabela2 = vgDb.OpenRecordSet(SQL, dbOpenDynaset)
QtRegb = Tabela2!Totalb
Contar$ = Str(QtReg + QtRegb)
End Function
GOSTARIA DE INCLUIR UM FILTRO PELO CAMPO DATAENTRADA DAS TABELAS ALIMENTANDO 2 VARIÃVEIS
QUE O USUÃRIO PREENCHE AO ENTRAR NO FORMULÃRIO
Dt_ini (Data inicial)
Dt_fim (Data final)
TENTEI DA SEGUINTE MANEIRA, MAS OS CAMPOS APARECEM DA CONTAGEM [Ô]EM BRANCO[Ô]:
======================================
Private Function Contar() As String
Dim SQL As String
Dim QtReg As Integer
Dim QtRegb As Integer
Dim Total1 As Integer
Dim Totalb As Integer
SQL = [Ô]SELECT Count(Tabela1!Ordem) as Total1 From Tabela1 WHERE [Ô] & _
[Ô]TABELA1.DATAENTRADA BETWEEN CDate([ô][Ô]& Dt_ini &[Ô][ô]) And CDate([ô][Ô]&Dt_fim&[Ô][ô])[Ô]
Set Tabela1 = vgDb.OpenRecordSet(SQL, dbOpenDynaset)
QtReg = Tabela1!Total1
SQL = [Ô]SELECT Count(Tabela2!Ordem) as Totalb From Tabela2 WHERE [Ô] & _
[Ô]TABELA2.DATAENTRADA BETWEEN CDate([ô][Ô]& Dt_ini &[Ô][ô]) And CDate([ô][Ô]& Dt_fim &[Ô][ô])[Ô]
Set Tabela2 = vgDb.OpenRecordSet(SQL, dbOpenDynaset)
QtRegb = Tabela2!Totalb
Contar$ = Str(QtReg + QtRegb)
End Function
O que está errado nessa instrução?
Private Function Contar() As String
Dim SQL As String
Dim QtReg As Integer
Dim QtRegb As Integer
Dim Total1 As Integer
Dim Totalb As Integer
SQL = [Ô]SELECT Count(Tabela1!Ordem) as Total1 From Tabela1[Ô]
Set Tabela1 = vgDb.OpenRecordSet(SQL, dbOpenDynaset)
QtReg = Tabela1!Total1
SQL = [Ô]SELECT Count(Tabela2!Ordem) as Totalb From Tabela2[Ô]
Set Tabela2 = vgDb.OpenRecordSet(SQL, dbOpenDynaset)
QtRegb = Tabela2!Totalb
Contar$ = Str(QtReg + QtRegb)
End Function
GOSTARIA DE INCLUIR UM FILTRO PELO CAMPO DATAENTRADA DAS TABELAS ALIMENTANDO 2 VARIÃVEIS
QUE O USUÃRIO PREENCHE AO ENTRAR NO FORMULÃRIO
Dt_ini (Data inicial)
Dt_fim (Data final)
TENTEI DA SEGUINTE MANEIRA, MAS OS CAMPOS APARECEM DA CONTAGEM [Ô]EM BRANCO[Ô]:
======================================
Private Function Contar() As String
Dim SQL As String
Dim QtReg As Integer
Dim QtRegb As Integer
Dim Total1 As Integer
Dim Totalb As Integer
SQL = [Ô]SELECT Count(Tabela1!Ordem) as Total1 From Tabela1 WHERE [Ô] & _
[Ô]TABELA1.DATAENTRADA BETWEEN CDate([ô][Ô]& Dt_ini &[Ô][ô]) And CDate([ô][Ô]&Dt_fim&[Ô][ô])[Ô]
Set Tabela1 = vgDb.OpenRecordSet(SQL, dbOpenDynaset)
QtReg = Tabela1!Total1
SQL = [Ô]SELECT Count(Tabela2!Ordem) as Totalb From Tabela2 WHERE [Ô] & _
[Ô]TABELA2.DATAENTRADA BETWEEN CDate([ô][Ô]& Dt_ini &[Ô][ô]) And CDate([ô][Ô]& Dt_fim &[Ô][ô])[Ô]
Set Tabela2 = vgDb.OpenRecordSet(SQL, dbOpenDynaset)
QtRegb = Tabela2!Totalb
Contar$ = Str(QtReg + QtRegb)
End Function
O que está errado nessa instrução?
qual o banco de dados?
se for acces seria assim
se for mysql ou sqlserver seria assim
se for acces seria assim
SQL = [Ô]SELECT Count(Ordem) as Total1 From Tabela1 WHERE [Ô] & _
[Ô]DATAENTRADA BETWEEN #[Ô]& Format(Dt_ini,[Ô]mm/dd/yyyy[Ô]) &[Ô]# And #[Ô]& Format(Dt_fim,[Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]
se for mysql ou sqlserver seria assim
SQL = [Ô]SELECT Count(Ordem) as Total1 From Tabela1 WHERE [Ô] & _
[Ô]DATAENTRADA BETWEEN [ô][Ô]& Format(Dt_ini,[Ô]YYYY-MM-DD[Ô]) & [Ô][ô] And [ô][Ô]& Format(Dt_fim,[Ô]YYYY-MM-DD[Ô]) & [Ô][ô][Ô]
Obrigado Marcelo,
O banco de dados é Access!
Tente utilizar o Format, mas me retornou erro. Apesar de que a forma que utilizei foi
...BETWEEN [ô][Ô]& Format(Dt_ini,[Ô]mm/dd/yyyy[Ô]) & [Ô][ô] And [ô][Ô]& Format(Dt_fim,[Ô]mm/dd/yyyy[Ô]) & [Ô][ô][Ô]
Acredito tenha sido esse o meu erro.
Vou testar seu dica!
Sempre você para me salvar do sufôco!!!
Abraços
Enéa
O banco de dados é Access!
Tente utilizar o Format, mas me retornou erro. Apesar de que a forma que utilizei foi
...BETWEEN [ô][Ô]& Format(Dt_ini,[Ô]mm/dd/yyyy[Ô]) & [Ô][ô] And [ô][Ô]& Format(Dt_fim,[Ô]mm/dd/yyyy[Ô]) & [Ô][ô][Ô]
Acredito tenha sido esse o meu erro.
Vou testar seu dica!
Sempre você para me salvar do sufôco!!!
Abraços
Enéa
Tópico encerrado , respostas não são mais permitidas