Bom dia,
Estava com duvidas sobre um erro de vba e sql e ja foi tirada, no qual o filtro era aplicado com dados de duas tabelas, agora estou com duvida em outra.
Tenho uma tabela subprodutos e criei um form no qual tem uma lista que puxa todos os dados da tabela, e tenho um botão que filtra por data e tipo.
Porem a sql abaixo esta com erro no qual não sei identificar.
Agradeço quem puder ajudar
Private Sub btnMes_Click()
Dim StrSQL As String, StrSQL1 As String
If IsNull(DataInicial) = True Or Me.DataInicial = "" Or IsNull(DataFinal) = True Or Me.DataFinal = "" Then
MsgBox "é obrigatório o preenchimento dos campos Data Inicial e Data Final" & vbCrLf & _
"para efetuar a consulta", vbCritical, "Atençao!"
Exit Sub
Else
If Me.btnMes.Caption = "Filtrar" Then
If Format(Me.DataInicial, "dd/mm/yyyy") > Format(Me.DataFinal, "dd/mm/yyyy") Then
MsgBox "A Data Inicial não pode ser menor que a Data Final", vbCritical, "Atenção!"
Exit Sub
Else
Me.btnMes.Caption = "Filtrado"
Me.btnMes.ForeColor = vbRed
StrSQL = "SELECT tabsubproduto.Id_CodSubProduto AS CODIGO, tabsubproduto.CpData AS DATA," _
& "tabsubproduto.idtipo AS ID, tabsubproduto.Cporigem AS TIPO," _
& "tabsubproduto.CpAsa AS ASA, tabsubproduto.Cpcabeca AS CABECA," _
& "tabsubproduto.Cpcondenasparcial AS [CONDENACAO PARCIAL], tabsubproduto.Cpcondenacaototal AS [CONDENACAO TOTAL]," _
& "tabsubproduto.Cpdorso AS DORSO," _
& "tabsubproduto.Cpossodesossa AS [OSSO DESOSSA]," _
& "tabsubproduto.Cpoutros AS OUTROS, tabsubproduto.Cpe AS PE," _
& "tabsubproduto.Cppele AS PELE, tabsubproduto.Cppontaasa AS [PONTA DA ASA]," _
& "tabsubproduto.Cpprodutodescartado AS [PRODUTO DESCARTADO]," _
& "tabsubproduto.Cpresiduocms AS [RESIDUO CMS]," _
& " FROM tabsubproduto.ID_Granja" _
& " WHERE Not IsNull(tabsubproduto.ID_CodSubProduto) And tabsubproduto.CpData >=#" & Format(Me.DataInicial, "mm/dd/yyyy") & "# And tabsubproduto.CpData <=#" & Format(Me.DataFinal, "mm/dd/yyyy") & "#"
If Me.CboTipoAve <> "" Then
StrSQL = StrSQL & " And tabsubproduto.CpTipo ='" & Me.CboTipoAve & "'"
End If
StrSQL = StrSQL & " ORDER BY tabsubproduto.CpData;"
Me.lstConsulta.RowSource = StrSQL
Call AplicarCalculos
End If
Else
Call LimpaFiltro
Me.txtAviso.Visible = False
Me.btnMes.Caption = "Filtrar"
Me.btnMes.ForeColor = vbBlack
End If
End If
If Me.txtQtdReg = -1 Then
MsgBox "Não foi encontrado registro para esta consulta!", vbInformation, "Atenção"
Me.txtAviso.Visible = True
End If
End Sub
Estava com duvidas sobre um erro de vba e sql e ja foi tirada, no qual o filtro era aplicado com dados de duas tabelas, agora estou com duvida em outra.
Tenho uma tabela subprodutos e criei um form no qual tem uma lista que puxa todos os dados da tabela, e tenho um botão que filtra por data e tipo.
Porem a sql abaixo esta com erro no qual não sei identificar.
Agradeço quem puder ajudar
Private Sub btnMes_Click()
Dim StrSQL As String, StrSQL1 As String
If IsNull(DataInicial) = True Or Me.DataInicial = "" Or IsNull(DataFinal) = True Or Me.DataFinal = "" Then
MsgBox "é obrigatório o preenchimento dos campos Data Inicial e Data Final" & vbCrLf & _
"para efetuar a consulta", vbCritical, "Atençao!"
Exit Sub
Else
If Me.btnMes.Caption = "Filtrar" Then
If Format(Me.DataInicial, "dd/mm/yyyy") > Format(Me.DataFinal, "dd/mm/yyyy") Then
MsgBox "A Data Inicial não pode ser menor que a Data Final", vbCritical, "Atenção!"
Exit Sub
Else
Me.btnMes.Caption = "Filtrado"
Me.btnMes.ForeColor = vbRed
StrSQL = "SELECT tabsubproduto.Id_CodSubProduto AS CODIGO, tabsubproduto.CpData AS DATA," _
& "tabsubproduto.idtipo AS ID, tabsubproduto.Cporigem AS TIPO," _
& "tabsubproduto.CpAsa AS ASA, tabsubproduto.Cpcabeca AS CABECA," _
& "tabsubproduto.Cpcondenasparcial AS [CONDENACAO PARCIAL], tabsubproduto.Cpcondenacaototal AS [CONDENACAO TOTAL]," _
& "tabsubproduto.Cpdorso AS DORSO," _
& "tabsubproduto.Cpossodesossa AS [OSSO DESOSSA]," _
& "tabsubproduto.Cpoutros AS OUTROS, tabsubproduto.Cpe AS PE," _
& "tabsubproduto.Cppele AS PELE, tabsubproduto.Cppontaasa AS [PONTA DA ASA]," _
& "tabsubproduto.Cpprodutodescartado AS [PRODUTO DESCARTADO]," _
& "tabsubproduto.Cpresiduocms AS [RESIDUO CMS]," _
& " FROM tabsubproduto.ID_Granja" _
& " WHERE Not IsNull(tabsubproduto.ID_CodSubProduto) And tabsubproduto.CpData >=#" & Format(Me.DataInicial, "mm/dd/yyyy") & "# And tabsubproduto.CpData <=#" & Format(Me.DataFinal, "mm/dd/yyyy") & "#"
If Me.CboTipoAve <> "" Then
StrSQL = StrSQL & " And tabsubproduto.CpTipo ='" & Me.CboTipoAve & "'"
End If
StrSQL = StrSQL & " ORDER BY tabsubproduto.CpData;"
Me.lstConsulta.RowSource = StrSQL
Call AplicarCalculos
End If
Else
Call LimpaFiltro
Me.txtAviso.Visible = False
Me.btnMes.Caption = "Filtrar"
Me.btnMes.ForeColor = vbBlack
End If
End If
If Me.txtQtdReg = -1 Then
MsgBox "Não foi encontrado registro para esta consulta!", vbInformation, "Atenção"
Me.txtAviso.Visible = True
End If
End Sub