Gabriel Cabral Postado Setembro 21, 2007 Denunciar Share Postado Setembro 21, 2007 Olá pessoal...estou com uma grande duvida aqui....já vasculhei todos os topicos aki no forum e em outros também, mas não encontrei nadaEu estou precisando gerar um relatório especificando uma data inicial[textbox], uma data final[textbox] e um nome[combobox]....como fazer isso em data report ???a consulta eu sei fazer......eu a faço e mostro o resultado numa MSHFlexGrid....tem como também gerar um relatorio desse resultado que está no MSHFlexGrid???Quem puder me ajudar, serei muito grato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --JCarlos -- Postado Setembro 21, 2007 Denunciar Share Postado Setembro 21, 2007 Já experimentou colocar no DataBase Object uma consulta armazenada? :) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Macêdo Postado Setembro 23, 2007 Denunciar Share Postado Setembro 23, 2007 Com certeza gabriel!Coloque um DataReport em seu projeto, insira na seção Details(section1) as textbox referentes aos campos de sua consulta, ponha na propriedade DATAFIELD das textbox o nome do campo ao qual cada uma se refere, daí é só por no botão que chama o relatorio o seguinte códigoWith Rpt_RELATORIO '(rpt_relatorio) é o nome do relatório Set .DataSource = RS_recordset '(rs_recordset)é o nome do recordset .DataMember = "" .Refresh .Show End WithPronto! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Cabral Postado Setembro 24, 2007 Autor Denunciar Share Postado Setembro 24, 2007 Com certeza gabriel!Coloque um DataReport em seu projeto, insira na seção Details(section1) as textbox referentes aos campos de sua consulta, ponha na propriedade DATAFIELD das textbox o nome do campo ao qual cada uma se refere, daí é só por no botão que chama o relatorio o seguinte códigoWith Rpt_RELATORIO '(rpt_relatorio) é o nome do relatório Set .DataSource = RS_recordset '(rs_recordset)é o nome do recordset .DataMember = "" .Refresh .Show End WithPronto!Então Macêdo, eu precisaria colocar duas textbox pra indicar a data inicial e a data final.....só que essas datas não precisam necessariamente estar gravadas no banco de dados....elas podem ser datas aleatorias que serão informadas pra se gerar um relatorio de todos os registros cadastrados entre essas datas.....Então eu teria mesmo que relacionar a texbox com o BD atraves do DataField???Eu até fiz isso....mas deu o seguinte erroRun-time error '8577':Failed getting Rowset(s) from current data sourceNão teria algo como comando SQL com BETWEEN ou coisa do tipo?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Macêdo Postado Setembro 24, 2007 Denunciar Share Postado Setembro 24, 2007 Deixa eu explicar melhor, na propriedade datafield das text você coloca o nome dos campos da sua tabela, para gerar o relatorio:digamos que seu select seja assim:select campo1, campo2, campo3 from tabelaentão você põe 3 text's no relatório e põe na propriedade datafield das text'stext1 = campo1text2 = campo2text3 = campo3isso é para gerar o relatório, pois digamos que o campo1 seja (nome) campo2 (cpf) campo3 (endereço) ok ?as datas serão informadas da mesma forma que você informa no seu Flexgrid, isso porque você irá usar o mesmo recordset ok ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Duduh_Capixaba Postado Setembro 26, 2007 Denunciar Share Postado Setembro 26, 2007 Gabriel, esse erro (Failed getting Rowset(s) from current data source) geralmente ocorre quando a textbox informada está passando um valor inválido para o campo da tabela informado na SQL. Por exemplo, você informa um texto (string) com letras na textbox e o campo da DB é numérico. Lembre-se que textos e datas devem se acompanhados de aspas simples ('SEU TEXTO AQUI') na montagem da SQL.Aproveitando a dúvida do Gabriel, quero perguntar algo com relação a Data Report tb. Estou aprendendo a usar filtros nos relatórios com o comando "FILTER". Um exemplo de código:deComercial.rsProdutos.Filter = "CODIGO=" & Text1rptProdutos.ShowCom isso, eu filtro meu relatório pelo código desejado. O problema é quando eu preciso de mais de um filtro. Se eu coloco vários comandos FILTER na minha linha de comando, o último código substitui todos os outros =/ Alguém sabe como montar um relatório com mais de um filtro? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Macêdo Postado Setembro 27, 2007 Denunciar Share Postado Setembro 27, 2007 Respondendo a sua pergunta Dudhu_capixaba:você pode usufruir de todas as condições existentes nas instuções SQL para implementar seu Filtro nos relatórios, e pode fazê-los da mesma forma que se faz com os outros controles vinculados como o ADODC por exemplo, ou mesmo via código. Pelo que vi você está utilizando o DataReport com DataEnvironment exemplo de filtro com mais condições:Filtrar pelo campo NOME, onde os nomes comecem com as letras iniciais que estão na TextNOME onde o campo MUNICIPIO seja igual ao informado na text_municipiodeComercial.rsProdutos.Filter =" nome like '" & TextNOME.Text & "%' where municipio = '" & text_municipio & "'" rptProdutos.Show Filtrar registros entre DATAS colocadas em duas textbox, uma para data_inicial e outra Data_final deComercial.rsProdutos.Filter = "data >= '" & Txtdatainicial & "' and data<= '" & Txtdatafinal & "'" rptProdutos.Show Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Duduh_Capixaba Postado Setembro 27, 2007 Denunciar Share Postado Setembro 27, 2007 Macêdo, funcionou velho (só que precisei trocar o WHERE por AND)! Mas surgiu outra dúvida: e se eu não quiser preencher um dos dois campos? Esse código funciona apenas se eu tiver os dois campos preenchidos, caso contrário dá erro.Vou pensar em um jeito aqui, mas agradeceria se puder me ajudar. Vlw, obrigado pela resposta! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Macêdo Postado Setembro 28, 2007 Denunciar Share Postado Setembro 28, 2007 Instruções condidionais:Private Sub Cmd_Relatorio() if text1 <> "" and combo1 = "" um tipo de filtro rpt.show if text1 = "" and comb 1 <> "" outro filtro rpt.show if text1 <> "" and combo1 <> "" outro filtro rpt.show end if End Sub Existem mil maneiras de fazer NESTON! eu costumo criar uma SUB com filtros e chamo os filtros no botão que quero, exemplo: Private Sub FILTROS() coloco minhas possibilidades de filtro End Sub Chamo os filtros no botão: Private Sub Cmd_Impimir() FILTROS End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Duduh_Capixaba Postado Setembro 29, 2007 Denunciar Share Postado Setembro 29, 2007 É, foi isso que eu fiz mesmo, usei várias condições. Mas achei que existia um outro jeito. Eu estou bolando um jeito de armazenar os dados em uma string e montar toda a SQL de uma vez só. estou quase conseguindo! Mas vlw aê Macêdo! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Duduh_Capixaba Postado Outubro 2, 2007 Denunciar Share Postado Outubro 2, 2007 Venho eu com mais uma...Quando eu monto um relatório pelo Data Report eu uso um Data Environment e monto um Command com um comando SQL. Certo, depois é só puxar o relatório no projeto com o comando SHOW. Minha dúvida:Posso montar minha SQL em um TextBox, por exemplo, e fazer o Data Report enxergar esse TextBox? Eu gostaria de poder variar minha SQL para montagem do relatório. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Duduh_Capixaba Postado Outubro 3, 2007 Denunciar Share Postado Outubro 3, 2007 Já que estamos falando de datas, alguém sabe como faço pra puxar o primeiro dia do mês corrente em um textbox? Tipo:Data Inicial: [PRIMEIRO DIA DO MÊS]Data Final : [DIA CORRENTE]Assim o usuário não precisaria ficar digitando as datas a toda hora. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Outubro 3, 2007 Denunciar Share Postado Outubro 3, 2007 Já que estamos falando de datas, alguém sabe como faço pra puxar o primeiro dia do mês corrente em um textbox? Tipo:Data Inicial: [PRIMEIRO DIA DO MÊS]Data Final : [DIA CORRENTE]Assim o usuário não precisaria ficar digitando as datas a toda hora.no text box você tem a data toda ou só o mes??se for a data toda, faca assim:datainicial = DateSerial(Year(CDate(Text1.Text)), Month(CDate(Text1.Text)), 1) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Duduh_Capixaba Postado Outubro 3, 2007 Denunciar Share Postado Outubro 3, 2007 É a data toda Kuroi. Na verdade eu quero que ao carregar o Form, o textbox receba a data sozinho. Do seu jeito funcionou legal. Eu também consegui assim:Text1.Text = Format(Now - Day(Now) + 1, "ddddd") Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Gabriel Cabral
Olá pessoal...
estou com uma grande duvida aqui....
já vasculhei todos os topicos aki no forum e em outros também, mas não encontrei nada
Eu estou precisando gerar um relatório especificando uma data inicial[textbox], uma data final[textbox] e um nome[combobox]....
como fazer isso em data report ???
a consulta eu sei fazer......eu a faço e mostro o resultado numa MSHFlexGrid....
tem como também gerar um relatorio desse resultado que está no MSHFlexGrid???
Quem puder me ajudar, serei muito grato
Link para o comentário
Compartilhar em outros sites
13 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.