Olá Amigos,
Pessoal estou tentando filtar o subFormulario com base nos dois campos do form principal,
Usei o seguinte codigo no evento ao clicar do butão consultar.
Private Sub btFiltrar_Click()
Dim strSql As String
Dim j As Boolean, Filtro As String
If IsNull(Me!txAno) Then j = True
If IsNull(Me!txMes) Then j = True
If j = True Then
MsgBox "Preencha todos os campos...", vbInformation, "Aviso"
Me!txAno.SetFocus
Exit Sub
End If
strSql = "SELECT Year([Car_DataSaida]) AS Ano,Month([Car_DataSaida]) AS Mês,Car_Rota AS Rota,"
strSql = strSql & "SELECT Sum(Car_VlrCarga) AS [R$ Cargas],Sum(Car_QtdEntregas) AS Entregas,Sum(Car_Peso) AS Peso,"
strSql = strSql & "SELECT Sum(Car_QtdDevolucao) AS Devolução,Sum(Car_KmInicial) AS KmInicial,Sum(([Car_KmFinal]-[Car_KmInicial])) AS [Qtde Km],"
strSql = srtSql & "SELECT Sum(Car_SedeLitros) AS SedeLitros,Sum(Car_RotaLitros) AS RotaLitros,Sum(([Car_SedeLitros]+[Car_RotaLitros])) AS Qtde_Lt,(([Qtde Km]/[Qtde_Lt])) AS [Média Km/L],"
strSql = strSql & "SELECT Count(Car_Roteiro) AS [Nº Viagens],Sum(Car_Periodo) AS Periodo,([Entregas]/[Periodo]) AS [Méd Entr],Sum(Car_VlrDiaria) AS VlrDiaria,Sum(Car_VlrDescarga) AS VlrDescarga,"
strSql = strSql & "SELECT Sum(Car_VlrBalsasPedagios) AS VlrBalsasPedagios,Sum(Car_VlrManutencao) AS VlrManutencao,Sum(Car_VlrMecanica) AS VlrMecanica,Sum(([Car_VlrDiaria]+[Car_VlrDescarga]+[Car_VlrBalsasPedagios]+[Car_VlrManutencao]+[Car_VlrMecanica])) AS [R$ Despesas],"
strSql = strSql & "SELECT Sum(Car_VlrAbastSede) AS VlrAbastSede,Sum(Car_VlrAbastRota) AS VlrAbastRota,Sum(([Car_VlrAbastSede]+[Car_VlrAbastRota])) AS [R$ Combustivel],"
strSql = strSql & "FROM tblCargas"
strSql = strSql & "WHERE Year([Car_DataSaida]) LIKE '" & Me!txAno & "' AND Month([Car_DataSaida])LIKE '" & Me!txMes & "'"
strSql = strSql & "GROUP BY Year([Car_DataSaida]), Month([Car_DataSaida]), Car_Rota"
strSql = strSql & "ORDER BY Year([Car_DataSaida]), Month([Car_DataSaida]), Car_Rota;"
Me!sfrmEstatisticas_Rotas.Form.RecordSource = strSql
End Sub
Não tive muito sucesso!
Alguém pode me ajudar, segue em anexo um banco exemplo para entender melhor minha necessidade.
Desde de já agradeço.
Pessoal estou tentando filtar o subFormulario com base nos dois campos do form principal,
Usei o seguinte codigo no evento ao clicar do butão consultar.
Private Sub btFiltrar_Click()
Dim strSql As String
Dim j As Boolean, Filtro As String
If IsNull(Me!txAno) Then j = True
If IsNull(Me!txMes) Then j = True
If j = True Then
MsgBox "Preencha todos os campos...", vbInformation, "Aviso"
Me!txAno.SetFocus
Exit Sub
End If
strSql = "SELECT Year([Car_DataSaida]) AS Ano,Month([Car_DataSaida]) AS Mês,Car_Rota AS Rota,"
strSql = strSql & "SELECT Sum(Car_VlrCarga) AS [R$ Cargas],Sum(Car_QtdEntregas) AS Entregas,Sum(Car_Peso) AS Peso,"
strSql = strSql & "SELECT Sum(Car_QtdDevolucao) AS Devolução,Sum(Car_KmInicial) AS KmInicial,Sum(([Car_KmFinal]-[Car_KmInicial])) AS [Qtde Km],"
strSql = srtSql & "SELECT Sum(Car_SedeLitros) AS SedeLitros,Sum(Car_RotaLitros) AS RotaLitros,Sum(([Car_SedeLitros]+[Car_RotaLitros])) AS Qtde_Lt,(([Qtde Km]/[Qtde_Lt])) AS [Média Km/L],"
strSql = strSql & "SELECT Count(Car_Roteiro) AS [Nº Viagens],Sum(Car_Periodo) AS Periodo,([Entregas]/[Periodo]) AS [Méd Entr],Sum(Car_VlrDiaria) AS VlrDiaria,Sum(Car_VlrDescarga) AS VlrDescarga,"
strSql = strSql & "SELECT Sum(Car_VlrBalsasPedagios) AS VlrBalsasPedagios,Sum(Car_VlrManutencao) AS VlrManutencao,Sum(Car_VlrMecanica) AS VlrMecanica,Sum(([Car_VlrDiaria]+[Car_VlrDescarga]+[Car_VlrBalsasPedagios]+[Car_VlrManutencao]+[Car_VlrMecanica])) AS [R$ Despesas],"
strSql = strSql & "SELECT Sum(Car_VlrAbastSede) AS VlrAbastSede,Sum(Car_VlrAbastRota) AS VlrAbastRota,Sum(([Car_VlrAbastSede]+[Car_VlrAbastRota])) AS [R$ Combustivel],"
strSql = strSql & "FROM tblCargas"
strSql = strSql & "WHERE Year([Car_DataSaida]) LIKE '" & Me!txAno & "' AND Month([Car_DataSaida])LIKE '" & Me!txMes & "'"
strSql = strSql & "GROUP BY Year([Car_DataSaida]), Month([Car_DataSaida]), Car_Rota"
strSql = strSql & "ORDER BY Year([Car_DataSaida]), Month([Car_DataSaida]), Car_Rota;"
Me!sfrmEstatisticas_Rotas.Form.RecordSource = strSql
End Sub
Não tive muito sucesso!
Alguém pode me ajudar, segue em anexo um banco exemplo para entender melhor minha necessidade.
Desde de já agradeço.
- Anexos
- BDExemplo.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (168 Kb) Baixado 8 vez(es)