COMO FAZ RELATORIO FILTRANDO UMA DATA - DATAREPORT
Boa noite
eu faço assim e dá certo
Private Sub cmdData_Click() [ô]filtra por data
If TxtData.Text <> [Ô][Ô] Then
Call Preenche_dgVendServ
rsComissoes.Open ([Ô]select * from Cons_Comissoes where Data LIKE [ô][Ô] & TxtDataInicial.Text & [Ô][ô] order by Nome[Ô])
Call RelatVendServ
Else
MsgBox [Ô]Informe uma Data válida[Ô], vbInformation
TxtData.SetFocus
End If
Exit Sub
TxtData = [Ô][Ô]
End Sub
Espero que ajude
Nereu
#336113
04/03/2010 21:09:29
GESSINGER
Cadast. em 18/11/2004
Mensagem interna
eu quero preciso fazer o filtro no relatorio e não no datagrid ( nele eu ja fiz )
#336115
04/03/2010 21:13:53
NEREU1301
SARANDI
Cadast. em 03/08/2009
Mensagem interna
Aqui vai chamar o relatório só da data que voce quer
Call RelatVendServ
Private Sub RelatAnoMes() [ô]relatório de por Ano/mês das vendas e serviço
Dim i As Integer
On Erro GoTo errRelatAnoMes
With rptdinamicoCom2
Set .DataSource = Nothing
.DataMember = [Ô][Ô]
Set .DataSource = rsConsComissoes.DataSource
With .Sections([Ô]Section1[Ô]).Controls
For i = 1 To .Count
If TypeOf .item(i) Is RptTextBox Then
[ô]O datamember deverá sempre ser enquanto estiver criando relatorios dinamicos
.item(i).DataMember = [Ô][Ô]
.item(i).DataField = rsConsComissoes.Fields(i - 1).Name
End If
Next i
End With
.Show
End With
txtFunc.SetFocus
Call limpar
errRelatAnoMes:
With Err
If .Number <> 0 Then
MsgBox [Ô]Ocorreu um Erro! Refaça o processo.[Ô], vbExclamation + vbOKOnly + vbApplicationModal, [Ô]Erro[Ô]
.Number = 0
End If
End With
End Sub
Achei que você já tivesse algum relatótio
desculpe
eu faço assim e dá certo
Private Sub cmdData_Click() [ô]filtra por data
If TxtData.Text <> [Ô][Ô] Then
Call Preenche_dgVendServ
rsComissoes.Open ([Ô]select * from Cons_Comissoes where Data LIKE [ô][Ô] & TxtDataInicial.Text & [Ô][ô] order by Nome[Ô])
Call RelatVendServ
Else
MsgBox [Ô]Informe uma Data válida[Ô], vbInformation
TxtData.SetFocus
End If
Exit Sub
TxtData = [Ô][Ô]
End Sub
Espero que ajude
Nereu
#336113
04/03/2010 21:09:29
GESSINGER
Cadast. em 18/11/2004
Mensagem interna
eu quero preciso fazer o filtro no relatorio e não no datagrid ( nele eu ja fiz )
#336115
04/03/2010 21:13:53
NEREU1301
SARANDI
Cadast. em 03/08/2009
Mensagem interna
Aqui vai chamar o relatório só da data que voce quer
Call RelatVendServ
Private Sub RelatAnoMes() [ô]relatório de por Ano/mês das vendas e serviço
Dim i As Integer
On Erro GoTo errRelatAnoMes
With rptdinamicoCom2
Set .DataSource = Nothing
.DataMember = [Ô][Ô]
Set .DataSource = rsConsComissoes.DataSource
With .Sections([Ô]Section1[Ô]).Controls
For i = 1 To .Count
If TypeOf .item(i) Is RptTextBox Then
[ô]O datamember deverá sempre ser enquanto estiver criando relatorios dinamicos
.item(i).DataMember = [Ô][Ô]
.item(i).DataField = rsConsComissoes.Fields(i - 1).Name
End If
Next i
End With
.Show
End With
txtFunc.SetFocus
Call limpar
errRelatAnoMes:
With Err
If .Number <> 0 Then
MsgBox [Ô]Ocorreu um Erro! Refaça o processo.[Ô], vbExclamation + vbOKOnly + vbApplicationModal, [Ô]Erro[Ô]
.Number = 0
End If
End With
End Sub
Achei que você já tivesse algum relatótio
desculpe
Você deve aplicar um filtro no rsConsComissoes antes de atribuir ele ao Data Report
minha duvida continua
Cara
Ainda não consegui ver teu projeto
Mas seguinte
crie um data report sem data environment e coloque nele tantos rpttextbox quantas colunas tiver na tua tabela.
crie um form com um textbox, dois comand button (um para exebir e outro para sair) e um data grid
Depois siga como abaixo, adaptando ao teu projeto
Private Sub Form_Activate()
consulta1 ([Ô]select * from Indices order by Data[Ô])
End Sub
Private Sub consulta1(sql1 As String)
On Error GoTo errConsulta
Set rsIndices = New Recordset
rsIndices.CursorLocation = adUseClient
rsIndices.Open sql1, Cnn, adOpenForwardOnly, adLockReadOnly, adSearchForward
Set dgIndices.DataSource = rsIndices
dgIndices.Refresh
errConsulta:
With Err
If .Number <> 0 Then
MsgBox [Ô]Ocorreu um Erro! Refaça o processo.[Ô], vbExclamation + vbOKOnly + vbApplicationModal, [Ô]Erro[Ô]
.Number = 0
End If
End With
End Sub
Private Sub cmdExibirData_Click()
On erro GoTo trataerro
If txtProcurar.Text <> [Ô][Ô] Then
consulta1 ([Ô]select * from Indices where Data LIKE [ô][Ô] & txtProcurar & [Ô]%[ô] order by Produto1[Ô])
Call RelInd
Else
MsgBox [Ô]Informe uma Data válida.[Ô], vbInformation
txtProcurar.SetFocus
End If
Exit Sub
trataerro:
txtProcurar = [Ô][Ô]
End Sub
Private Sub RelInd() [ô]relatório de OSs
On Error GoTo errImprimir
Dim i As Integer
With rptIndices
Set .DataSource = Nothing
.DataMember = [Ô][Ô]
Set .DataSource = rsIndices.DataSource
With .Sections([Ô]Section1[Ô]).Controls
For i = 1 To .Count
If TypeOf .Item(i) Is RptTextBox Then
[ô]O datamember deverá sempre ser enquanto estiver criando relatorios dinamicos
.Item(i).DataMember = [Ô][Ô]
.Item(i).DataField = rsIndices.Fields(i - 1).Name
End If
Next i
End With
.Show
End With
txtProcurar.Text = [Ô][Ô]
txtProcurar.SetFocus
errImprimir:
With Err
If .Number <> 0 Then
MsgBox [Ô]Ocorreu um Erro! Refaça o processo.[Ô], vbExclamation + vbOKOnly + vbApplicationModal, [Ô]Erro[Ô]
.Number = 0
End If
End With
End Sub
Não tem erro, funciona muito bem
Nereu
Ainda não consegui ver teu projeto
Mas seguinte
crie um data report sem data environment e coloque nele tantos rpttextbox quantas colunas tiver na tua tabela.
crie um form com um textbox, dois comand button (um para exebir e outro para sair) e um data grid
Depois siga como abaixo, adaptando ao teu projeto
Private Sub Form_Activate()
consulta1 ([Ô]select * from Indices order by Data[Ô])
End Sub
Private Sub consulta1(sql1 As String)
On Error GoTo errConsulta
Set rsIndices = New Recordset
rsIndices.CursorLocation = adUseClient
rsIndices.Open sql1, Cnn, adOpenForwardOnly, adLockReadOnly, adSearchForward
Set dgIndices.DataSource = rsIndices
dgIndices.Refresh
errConsulta:
With Err
If .Number <> 0 Then
MsgBox [Ô]Ocorreu um Erro! Refaça o processo.[Ô], vbExclamation + vbOKOnly + vbApplicationModal, [Ô]Erro[Ô]
.Number = 0
End If
End With
End Sub
Private Sub cmdExibirData_Click()
On erro GoTo trataerro
If txtProcurar.Text <> [Ô][Ô] Then
consulta1 ([Ô]select * from Indices where Data LIKE [ô][Ô] & txtProcurar & [Ô]%[ô] order by Produto1[Ô])
Call RelInd
Else
MsgBox [Ô]Informe uma Data válida.[Ô], vbInformation
txtProcurar.SetFocus
End If
Exit Sub
trataerro:
txtProcurar = [Ô][Ô]
End Sub
Private Sub RelInd() [ô]relatório de OSs
On Error GoTo errImprimir
Dim i As Integer
With rptIndices
Set .DataSource = Nothing
.DataMember = [Ô][Ô]
Set .DataSource = rsIndices.DataSource
With .Sections([Ô]Section1[Ô]).Controls
For i = 1 To .Count
If TypeOf .Item(i) Is RptTextBox Then
[ô]O datamember deverá sempre ser enquanto estiver criando relatorios dinamicos
.Item(i).DataMember = [Ô][Ô]
.Item(i).DataField = rsIndices.Fields(i - 1).Name
End If
Next i
End With
.Show
End With
txtProcurar.Text = [Ô][Ô]
txtProcurar.SetFocus
errImprimir:
With Err
If .Number <> 0 Then
MsgBox [Ô]Ocorreu um Erro! Refaça o processo.[Ô], vbExclamation + vbOKOnly + vbApplicationModal, [Ô]Erro[Ô]
.Number = 0
End If
End With
End Sub
Não tem erro, funciona muito bem
Nereu
Não da pra usar formulas ( Filtro ) em datareports com data enviroment ?
ola todos , quero criar um filtro por data, num relatorio usando datareports com data enviroment
tem como ?
tem como ?
ola todos ,
tenho uma banco access com os campos ID Nome e Sobrenome
tabela = [Ô]Nomes[Ô]
quero criar um filtro por nome, num relatorio usando datareports com data enviroment
tem como ?
como fazer esse filtro ?
tenho uma banco access com os campos ID Nome e Sobrenome
tabela = [Ô]Nomes[Ô]
quero criar um filtro por nome, num relatorio usando datareports com data enviroment
tem como ?
como fazer esse filtro ?
alguem sabe ?
alguem pode me ajudar, por favor ?
Olá Gessinger, voce está usando uma consulta SQL com um recorset para preencher o DataReport, entáo altere a consulta usando uma clausula WHERE e filtre a consulta para mostrar apenas o que você precisa. Depois aplica ela no DataReport
pode me dar um exemplo de como faz isso ?
Tópico encerrado , respostas não são mais permitidas