Leandro_Pirozzi Postado Abril 6, 2009 Denunciar Share Postado Abril 6, 2009 Bom dia galera!!Tenho uma dúvida:Por exemplo estou gerando relatórios que o usuário pode selecionar os períodos.Porém não sei como jogar o período que o usuário escolheu no relatório.Para o usuario selecionar os períodos estou utilizando dtpicker, tanto para período de inicio quanto de fim.Quem puder ajudar, agradeço!!!Vlw! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Abril 8, 2009 Denunciar Share Postado Abril 8, 2009 ue mas você já não tava fazendo isso, editando o selection formula??igual seu codigo no otro tópico Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Abril 8, 2009 Autor Denunciar Share Postado Abril 8, 2009 ue mas você já não tava fazendo isso, editando o selection formula??igual seu codigo no otro tópicoentão kuroo o filtro tá funcionando MARAVILHA, mas não sei como jogar ele no relatório, porque são duas datas para um mesmo campo na tabela DATATAREFA ai ele acaba sempre jogando o valor do dtpicker1 e não joga o valor do dtpicker2, entendeu?achei meio estranho, mas é o que esta acontecendo cmg. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Abril 8, 2009 Denunciar Share Postado Abril 8, 2009 e como ta o seu codigo?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Abril 8, 2009 Autor Denunciar Share Postado Abril 8, 2009 e como ta o seu codigo??Private Sub cmdprint_Click() If opttotais.Value = False And optempassessor.Value = False Then MsgBox "Escolha uma opção", vbExclamation, "Advertência" Exit Sub ElseIf PerfilUser = "ADMINISTRADOR" And opttotais.Value = True Then 'Caminho do Banco de Dados CrystalReport3.DataFiles(0) = App.Path & "\CONTATOS.mdb" 'Selecionamos os Registros que se enquadram entre as datas ' CrystalReport1.SelectionFormula = "{CONTATOS_EMPRESA.ASSESSOR}= '" & Login & "'" 'Caminho do Relatório CrystalReport3.ReportFileName = App.Path & "\EmpresasADM.rpt" CrystalReport3.WindowTitle = "Relatório de Empresas" CrystalReport3.Destination = 0 CrystalReport3.Action = 1 Exit Sub ElseIf PerfilUser = "ADMINISTRADOR" And optempassessor.Value = True Then If cboass.Text = Empty Then MsgBox "Campo obrigatório vazio, favor verificar.", vbInformation, "Atenção" 'txtassessor.SetFocus Exit Sub End If 'Caminho do Banco de Dados CrystalReport1.DataFiles(0) = App.Path & "\CONTATOS.mdb" 'Selecionamos os Registros que se enquadram entre as datas CrystalReport1.SelectionFormula = "{CONTATOS_EMPRESA.ASSESSOR}= '" & cboass.Text & "'" 'Caminho do Relatório CrystalReport1.ReportFileName = App.Path & "\EmpresasAss.rpt" CrystalReport1.WindowTitle = "Relatório de Empresas por Assessor." CrystalReport1.Destination = 0 CrystalReport1.Action = 1 Exit Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Abril 8, 2009 Denunciar Share Postado Abril 8, 2009 então, mas qual o codigo q pega o valor do dtpicker1 e não do dtpicker2?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Abril 8, 2009 Autor Denunciar Share Postado Abril 8, 2009 então, mas qual o codigo q pega o valor do dtpicker1 e não do dtpicker2??Desculpa!coloquei o codigo do outro form, foi mals.SeguePrivate Sub cmdimprimir_Click() If cbostatus.Text = Empty Then MsgBox "Selecione o status!", vbExclamation, "Advertência" Exit Sub ElseIf datinicial.Value = Empty Then MsgBox "Selecione a data inicial!", vbExclamation, "Advertência" Exit Sub ElseIf datfinal.Value = Empty Then MsgBox "Selecione a data final!", vbExclamation, "Advertência" Exit Sub Else Dim diai Dim mesi Dim anoi Dim diaf Dim mesf Dim anof diai = Day(datinicial.Value) mesi = Month(datinicial.Value) anoi = Year(datinicial.Value) diaf = Day(datfinal.Value) mesf = Month(datfinal.Value) anof = Year(datfinal.Value) 'Caminho do Banco de Dados CrystalReport1.DataFiles(0) = App.Path & "\CONTATOS.mdb" 'Selecionamos os Registros que se enquadram entre as datas CrystalReport1.SelectionFormula = "{CONTATOS_PROPOSTA.ASSESSOR}= '" & Login & "'" & _ " and {CONTATOS_PROPOSTA.STATUS}= '" & cbostatus.Text & "'" & _ " and {CONTATOS_PROPOSTA.DATAPRO} >= Date(" & anoi & "," & mesi & "," & diai & ")" & _ " and {CONTATOS_PROPOSTA.DATAPRO} <= Date(" & anof & "," & mesf & "," & diaf & ")" 'Caminho do Relatório CrystalReport1.ReportFileName = App.Path & "\Proposta.rpt" CrystalReport1.WindowTitle = "Relatório de Proposta" CrystalReport1.Destination = 0 CrystalReport1.Action = 1 End If End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Abril 8, 2009 Denunciar Share Postado Abril 8, 2009 poe um breakpoint (F9) na linha q você edita o selectionformula e rode o programa.quando chegar la e o programa parar, digite no immeditade window (Ctrl + G):? "{CONTATOS_PROPOSTA.ASSESSOR}= '" & Login & "'" & _ " and {CONTATOS_PROPOSTA.STATUS}= '" & cbostatus.Text & "'" & _ " and {CONTATOS_PROPOSTA.DATAPRO} >= Date(" & anoi & "," & mesi & "," & diai & ")" & _ " and {CONTATOS_PROPOSTA.DATAPRO} <= Date(" & anof & "," & mesf & "," & diaf & ")"[/code]e aperta ENTER.veja o q ele vai mostrar e ai poste ai.mas o q ocorre com esse codigo?? ele mostra o filtro errado?? ou da alguma mensagem de erro?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Abril 13, 2009 Autor Denunciar Share Postado Abril 13, 2009 poe um breakpoint (F9) na linha q você edita o selectionformula e rode o programa.quando chegar la e o programa parar, digite no immeditade window (Ctrl + G):? "{CONTATOS_PROPOSTA.ASSESSOR}= '" & Login & "'" & _ " and {CONTATOS_PROPOSTA.STATUS}= '" & cbostatus.Text & "'" & _ " and {CONTATOS_PROPOSTA.DATAPRO} >= Date(" & anoi & "," & mesi & "," & diai & ")" & _ " and {CONTATOS_PROPOSTA.DATAPRO} <= Date(" & anof & "," & mesf & "," & diaf & ")"e aperta ENTER.veja o q ele vai mostrar e ai poste ai.mas o q ocorre com esse codigo?? ele mostra o filtro errado?? ou da alguma mensagem de erro??Opa! Bom dia, não o código está certinho, faz o filtro e tudo o que acontece é que onde existe o campo no relatório que era pra exibir os valores dos datapickers ele mostra datas que não tem nada a ver com que o usuario selecionou nos datapickers. Ai voce vai me dizer: mas onde voce esta dizendo para pegar o valor do dtpicker?? Então ai como eu vi que não estava trazendo os valores dos dtpickers eu acabei deixando sem. Ai queria saber como faz para ele trazer para o Crystal o que o usuario selecionou no dtpicker da aplicação.então fiz isso que voce me pediu CTRL + G e aconteceu o seguinte so mostrou isso: 0. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcio_Garca Postado Abril 13, 2009 Denunciar Share Postado Abril 13, 2009 Bom dia galera!!Tenho uma dúvida:Por exemplo estou gerando relatórios que o usuário pode selecionar os períodos.Porém não sei como jogar o período que o usuário escolheu no relatório.Para o usuario selecionar os períodos estou utilizando dtpicker, tanto para período de inicio quanto de fim.Quem puder ajudar, agradeço!!!Vlw!Passa um selectionFormula com o periodo, tipo:strSelectionFormula = "{tabela.campoData} IN " & _ " DateTime(" & dtpDtInicio.Year & ", " & Format(dtpDtInicio.Month, "00") & ", " & Format(dtpDtInicio.Day, "00") & ", 00, 00, 00)" & _ " to DateTime(" & dtpDtFim.Year & ", " & Format(dtpDtFim.Month, "00") & ", " & Format(dtpDtFim.Day, "00") & ", 23, 59, 59)" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Abril 15, 2009 Autor Denunciar Share Postado Abril 15, 2009 Bom dia galera!!Tenho uma dúvida:Por exemplo estou gerando relatórios que o usuário pode selecionar os períodos.Porém não sei como jogar o período que o usuário escolheu no relatório.Para o usuario selecionar os períodos estou utilizando dtpicker, tanto para período de inicio quanto de fim.Quem puder ajudar, agradeço!!!Vlw!Passa um selectionFormula com o periodo, tipo:strSelectionFormula = "{tabela.campoData} IN " & _ " DateTime(" & dtpDtInicio.Year & ", " & Format(dtpDtInicio.Month, "00") & ", " & Format(dtpDtInicio.Day, "00") & ", 00, 00, 00)" & _ " to DateTime(" & dtpDtFim.Year & ", " & Format(dtpDtFim.Month, "00") & ", " & Format(dtpDtFim.Day, "00") & ", 23, 59, 59)"mas ai nesse caso ele vai me adicionar a hora não é?no caso so preciso q seja exibido a data que o usuário selecionou no form. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Maio 4, 2009 Autor Denunciar Share Postado Maio 4, 2009 (editado) Então, estou postando aqui da maneira como o Marcio disse, mas não adianta ele não exibe nada no relatório.A busca ele faz certinho, mas onde precisa exibir a data ele não mostra nada no relatorio.Estou achando que devo estar errando no Crystal, porque não estou utilizando aquele esquema de @Periodo e sim estou colocando o campo DATATAREFA direto. Será que é isso? não sei como criar aquele período no crystal.Function usuario() If PerfilUser = "USUARIO" Then cboequipe.Enabled = False Dim diag Dim mesg Dim anog Dim diah Dim mesh Dim anoh diag = Day(DTPicker1.Value) mesg = Month(DTPicker1.Value) anog = Year(DTPicker1.Value) diah = Day(DTPicker2.Value) mesh = Month(DTPicker2.Value) anoh = Year(DTPicker2.Value) 'Caminho do Banco de Dados CrystalReport1.DataFiles(0) = App.Path & "\CONTATOS.mdb" 'Selecionamos os Registros que se enquadram entre as datas CrystalReport1.SelectionFormula = "{CONTATOS_HISTORICO.ASSESSOR}= '" & Login & "'" & _ " and{CONTATOS_HISTORICO.DATATAREFA} IN " & _ " Date (" & anog & ", " & mesg & ", " & diag & ")" & _ " to Date(" & anoh & ", " & mesh & ", " & diah & ")" ' " and {CONTATOS_HISTORICO.DATATAREFA} >= Date(" & anog & "," & mesg & "," & diag & ")" & _ ' " and {CONTATOS_HISTORICO.DATATAREFA} <= Date(" & anoh & "," & mesh & "," & diah & ")" 'Caminho do Relatório CrystalReport1.ReportFileName = App.Path & "\Historico.rpt" CrystalReport1.WindowTitle = "Relatório de Histórico" CrystalReport1.Destination = 0 CrystalReport1.Action = 1 End If End Function Editado Maio 5, 2009 por kuroi Adicionar tag CODE Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 5, 2009 Denunciar Share Postado Maio 5, 2009 então leandro, esse filtro ai é pra funcionar. de teste faca isso aqui q eu falei antes:poe um breakpoint (F9) na linha q você edita o selectionformula e rode o programa.quando chegar la e o programa parar, digite no immeditade window (Ctrl + G):? "{CONTATOS_PROPOSTA.ASSESSOR}= '" & Login & "'" & _ " and {CONTATOS_PROPOSTA.STATUS}= '" & cbostatus.Text & "'" & _ " and {CONTATOS_PROPOSTA.DATAPRO} >= Date(" & anoi & "," & mesi & "," & diai & ")" & _ " and {CONTATOS_PROPOSTA.DATAPRO} <= Date(" & anof & "," & mesf & "," & diaf & ")"[/code] e aperta ENTER. veja o q ele vai mostrar e ai poste ai. so q então tenta o codigo assim ó: [code]? "{CONTATOS_PROPOSTA.ASSESSOR}= '" & Login & "'" & " and {CONTATOS_PROPOSTA.STATUS}= '" & cbostatus.Text & "'" & " and {CONTATOS_PROPOSTA.DATAPRO} >= Date(" & anoi & "," & mesi & "," & diai & ")" & " and {CONTATOS_PROPOSTA.DATAPRO} <= Date(" & anof & "," & mesf & "," & diaf & ")"td numa linha so.e depois tenta incluir o codigo q ele mostrar no selection formula direto no crystal e abra o preview do relatorio e veja se ele não vai mostrar os dados.se não mostrar ai é o problema nas datas q você ta passando. é porque ele noa ta encontrando registro no banco mesmo.ai se você tiver certeza q os registros existem mesmo, ai talvez seja problema com tipos de dados ou coisa assim.nesse caso, so pra garantir, la no crystal clicque em menu Database -> Verify Database, salve o relatorio e tente de novo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Maio 5, 2009 Autor Denunciar Share Postado Maio 5, 2009 (editado) então leandro, esse filtro ai é pra funcionar. de teste faca isso aqui q eu falei antes:poe um breakpoint (F9) na linha q você edita o selectionformula e rode o programa.quando chegar la e o programa parar, digite no immeditade window (Ctrl + G):? "{CONTATOS_PROPOSTA.ASSESSOR}= '" & Login & "'" & _ " and {CONTATOS_PROPOSTA.STATUS}= '" & cbostatus.Text & "'" & _ " and {CONTATOS_PROPOSTA.DATAPRO} >= Date(" & anoi & "," & mesi & "," & diai & ")" & _ " and {CONTATOS_PROPOSTA.DATAPRO} <= Date(" & anof & "," & mesf & "," & diaf & ")" e aperta ENTER. veja o q ele vai mostrar e ai poste ai. so q então tenta o codigo assim ó: ? "{CONTATOS_PROPOSTA.ASSESSOR}= '" & Login & "'" & " and {CONTATOS_PROPOSTA.STATUS}= '" & cbostatus.Text & "'" & " and {CONTATOS_PROPOSTA.DATAPRO} >= Date(" & anoi & "," & mesi & "," & diai & ")" & " and {CONTATOS_PROPOSTA.DATAPRO} <= Date(" & anof & "," & mesf & "," & diaf & ")" td numa linha so. Essa parte eu não entedi. Como faço isso? Só ir em Report/Edit Selection Formula/Record e digitar o que apareceu no vb? é isso? porque ele exibe data, mas não a q esta selecionada no campo do picker e sim qualquer data q ele localiza no banco. Sera q não precisa criar parametros no crystal? e tentar passar eles no vb? e depois tenta incluir o codigo q ele mostrar no selection formula direto no crystal e abra o preview do relatorio e veja se ele não vai mostrar os dados. se não mostrar ai é o problema nas datas q você ta passando. é porque ele noa ta encontrando registro no banco mesmo. ai se você tiver certeza q os registros existem mesmo, ai talvez seja problema com tipos de dados ou coisa assim. nesse caso, so pra garantir, la no crystal clicque em menu [i]Database -> Verify Database[/i], salve o relatorio e tente de novo. Editado Maio 5, 2009 por Leandro_Pirozzi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Maio 5, 2009 Autor Denunciar Share Postado Maio 5, 2009 No crystal fiz assim:Report/Edit Selection Formula/RecordCDate({CONTATOS_PROPOSTA.DATAPRO}) >= {?data1} And CDate({CONTATOS_PROPOSTA.DATAPRO}) <= {?data2}Ai foi bonitinho.Mas no vb ele motra erro. "Invalid Qualifier".Private Sub cmdimprimir_Click() If cbostatus.Text = Empty Then MsgBox "Selecione o status!", vbExclamation, "Advertência" Exit Sub ElseIf datinicial.Value = Empty Then MsgBox "Selecione a data inicial!", vbExclamation, "Advertência" Exit Sub ElseIf datfinal.Value = Empty Then MsgBox "Selecione a data final!", vbExclamation, "Advertência" Exit Sub end if 'Caminho do Banco de Dados CrystalReport1.DataFiles(0) = App.Path & "\CONTATOS.mdb" 'Selecionamos os Registros que se enquadram entre as datas CrystalReport1.SelectionFormula = "{CONTATOS_PROPOSTA.ASSESSOR}= '" & Login & "'" & " and {CONTATOS_PROPOSTA.STATUS}= '" & cbostatus.Text & "'"'Aqui é onde ele mostra o erro. CrystalReport1.ParameterFields(1).AddCurrentValue CDate(datinicial.Value) CrystalReport1.ParameterFields(2).AddCurrentValue CDate(datfinal.Value) 'Caminho do Relatório CrystalReport1.ReportFileName = App.Path & "\Proposta.rpt" CrystalReport1.WindowTitle = "Relatório de Proposta" CrystalReport1.Destination = 0 CrystalReport1.Action = 1 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 5, 2009 Denunciar Share Postado Maio 5, 2009 tem razao, leandro, esse codigo ai não serve pra passar parametros. é um codigo de otro componente, eu passei ele em otro tópico mas tava errado. o certo com o crcontrol seria assim:CrystalReport1.ParameterFields(0) = "data1;Date(" & Format(datinicial.Value, "YYYY,MM,DD") & ");True"CrystalReport1.ParameterFields(1) = "data2;Date(" & Format(datfinal.Value, "YYYY,MM,DD") & ");True"[/code] Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Leandro_Pirozzi
Bom dia galera!!
Tenho uma dúvida:
Por exemplo estou gerando relatórios que o usuário pode selecionar os períodos.
Porém não sei como jogar o período que o usuário escolheu no relatório.
Para o usuario selecionar os períodos estou utilizando dtpicker, tanto para período de inicio quanto de fim.
Quem puder ajudar, agradeço!!!
Vlw!
Link para o comentário
Compartilhar em outros sites
15 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.