Imprimir só 1 registro selecion. no DBGrid no Quick Report
Obs.: Antes de tudo devo informar que essa pergunta já foi formulada no
Forum, porém não respondida e solucionada.
Estou usando o DBGrid para mostrar os registro da tabela em Access
2000 / ADO.
Gostaria de saber como faço para imprimir no Quick Report, somente
aquele registro (digo 1 registro) que esta posicionado o ponteiro no
DBGrid ou seja apenas um registro selecionado.
Por favor gostaria que fossem bem especifico ( detalhado ), pois não
tenho muita experiencia em Delphi.
Desde já O B R I G A D O a todos.
Forum, porém não respondida e solucionada.
Estou usando o DBGrid para mostrar os registro da tabela em Access
2000 / ADO.
Gostaria de saber como faço para imprimir no Quick Report, somente
aquele registro (digo 1 registro) que esta posicionado o ponteiro no
DBGrid ou seja apenas um registro selecionado.
Por favor gostaria que fossem bem especifico ( detalhado ), pois não
tenho muita experiencia em Delphi.
Desde já O B R I G A D O a todos.
Canastra
Curtidas 0
Melhor post
Aroldo Zanela
29/09/2004
Colega,
Crie um consulta (ADOQuery) e coloque qReport na propriedade name:
Script para a ADOQuery (qReport)
Código Delphi
Mudar a propriedade DataSet do QuickRep para qReport.
Crie um consulta (ADOQuery) e coloque qReport na propriedade name:
Script para a ADOQuery (qReport)
SELECT * FROM nome_tabela where cad_id = :identificador
Código Delphi
qReport.Close; qRepor1.Parameters.ParamByName(´identificador´).Value := ADOTableCAD_ID.value; // ADOTable deve ser substituido pelo nome da sua tabela (dbGrid) qReport.Open;
Mudar a propriedade DataSet do QuickRep para qReport.
GOSTEI 1
Mais Respostas
Aroldo Zanela
25/09/2004
Colega,
O ideal é obter um identificador único do registro e selecionar apenas o referido registro, evitando neste caso, o uso de controle de impressão por meio dos eventos do QuickReport (BeforePrint e AfterPrint).
O ideal é obter um identificador único do registro e selecionar apenas o referido registro, evitando neste caso, o uso de controle de impressão por meio dos eventos do QuickReport (BeforePrint e AfterPrint).
qReport.Parameters.ParamByName(´Id_reg´).Value := qDadosGridREGISTRO.Value;
GOSTEI 0
Canastra
25/09/2004
Aroldo,
Em que evento e componente coloco a rotina sua informada.
Pois não entendi muito bem, ficarei grato se puder ser mais
detalhado.
Desde já O B R I G A D O ........
Em que evento e componente coloco a rotina sua informada.
Pois não entendi muito bem, ficarei grato se puder ser mais
detalhado.
Desde já O B R I G A D O ........
GOSTEI 0
Aroldo Zanela
25/09/2004
Colega,
Pode ser algo como:
Pode ser algo como:
qReport.Close; qReport.Parameters.ParamByName(´Id_reg´).Value := qDadosGridREGISTRO.Value; qReport.Open; QuickRep1.PreviewModal; // Ligado ao qReport e não ao DataSet da Grid
GOSTEI 0
Canastra
25/09/2004
Aroldo,
Continuo sem entender, colocando esta rotina no Form
onde eu disparo para chamar o Relatorio, tambem não aceita
Parameters.ParamByName, pois estou usando DELPHI ADO / ACCESS
2000.
Peço descreva mais detalhado.
Obrigado.
Continuo sem entender, colocando esta rotina no Form
onde eu disparo para chamar o Relatorio, tambem não aceita
Parameters.ParamByName, pois estou usando DELPHI ADO / ACCESS
2000.
Peço descreva mais detalhado.
Obrigado.
GOSTEI 0
Aroldo Zanela
25/09/2004
Colega,
Coloque a estrutura da tabela (campos, tipos e tamanhos) e componentes de acesso que está utilizando, para que possamos tentar elaborar um exemplo mais direcionado.
Coloque a estrutura da tabela (campos, tipos e tamanhos) e componentes de acesso que está utilizando, para que possamos tentar elaborar um exemplo mais direcionado.
GOSTEI 0
Rômulo Barros
25/09/2004
[b:c4a793cd01][color=red:c4a793cd01]Aproveitando a dica do Aroldo Zanela, tente:[/color:c4a793cd01][/b:c4a793cd01]
:wink: :wink: :wink:
qReport.Close; qReport.Parameters.[0].AsString := qDadosGrid.FieldByName(´REGISTRO´).AsString; qReport.Open; QuickRep1.PreviewModal; // Ligado ao qReport e não ao DataSet da Grid
:wink: :wink: :wink:
GOSTEI 0
Canastra
25/09/2004
a) Em todo o programa só utilizo 2 tela de Form, a 1º tenho um DBGrid
com ADOTable e Datasource(ACCESS 2000), sendo que ao clicar num
registro do DBGrid ou no botao de Cadastro, será direcionado para o
Form2.
b) No Form2 tenho outro ADOTable e DataSource que poderia ter usado
em um Data Module, com os botoes para Anterior/Proximo/Gravar/
Excluir/Imprimir e Fechar que irá retornar para o Form1.
-Nesse Form2 coloquei diversos DBEDIT para os campos de Nome/
Endereço/Bairro/Cep/Data Cadastro/Tipo de Cadastro tudo String e
DBImage e DBMemo.
-Sendo que coloquei no botao Imprimir: QuickReport1.Preview;
aparecendo no relatório todos os registros e não o registro atual
que está na tela do Form2 e na Seleção do DBGrid do Form1, conf.
informado acima.
-No evento OnShow do Form2, coloquei:
ADOTable1.Active := True;
ADOTable1.First;
com ADOTable e Datasource(ACCESS 2000), sendo que ao clicar num
registro do DBGrid ou no botao de Cadastro, será direcionado para o
Form2.
b) No Form2 tenho outro ADOTable e DataSource que poderia ter usado
em um Data Module, com os botoes para Anterior/Proximo/Gravar/
Excluir/Imprimir e Fechar que irá retornar para o Form1.
-Nesse Form2 coloquei diversos DBEDIT para os campos de Nome/
Endereço/Bairro/Cep/Data Cadastro/Tipo de Cadastro tudo String e
DBImage e DBMemo.
-Sendo que coloquei no botao Imprimir: QuickReport1.Preview;
aparecendo no relatório todos os registros e não o registro atual
que está na tela do Form2 e na Seleção do DBGrid do Form1, conf.
informado acima.
-No evento OnShow do Form2, coloquei:
ADOTable1.Active := True;
ADOTable1.First;
GOSTEI 0
Aroldo Zanela
25/09/2004
[quote:8acd79333d=´Aroldo Zanela´]Colega,
Coloque a estrutura da tabela (campos, tipos e tamanhos) e componentes de acesso que está utilizando, para que possamos tentar elaborar um exemplo mais direcionado.[/quote:8acd79333d]
Colega,
Sem esta informação: (Coloque a estrutura da tabela (campos, tipos e tamanhos)) fica muito difícil avançarmos mais.
Coloque a estrutura da tabela (campos, tipos e tamanhos) e componentes de acesso que está utilizando, para que possamos tentar elaborar um exemplo mais direcionado.[/quote:8acd79333d]
Colega,
Sem esta informação: (Coloque a estrutura da tabela (campos, tipos e tamanhos)) fica muito difícil avançarmos mais.
GOSTEI 0
Canastra
25/09/2004
Aroldo,
Estou utilizando ADO / ACCESS 2000 e a estrutura da tabela
segue abaixo:
Estou utilizando ADO / ACCESS 2000 e a estrutura da tabela
segue abaixo:
CAMPO TIPO TAMANHO Cad_ID numero Inteiro Longo Cad_Nome Texto 40 Cad_Ende Texto 40 Cad_Cida Texto 20 Cad_Cep Texto 10 Cad_Data Data Data abreviada Cad_Tipo Texto 20 Cad_Figur Obejto Ole Cad_Obs Memorando Cad_Infor Memorando Cad_Adic Memorando
GOSTEI 0
Canastra
25/09/2004
Aroldo,
O B R I G A D O pela dica, e já está funcionando.
O B R I G A D O pela dica, e já está funcionando.
GOSTEI 0