Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bsb Software

Imprimir ultimo registro

Recommended Posts

Boa noite,

preciso de uma ajuda de voces, como faco pra imprimir o ultimo registro da tabela e nao o primeiro.

Obrigado

 

qrduplicata.last;
qrduplicata.open;
qrduplicata.edit;
qrduplicata.insert;
qrduplicata.fieldbyname('emitente_fantasia').asstring := emitente_fantasia;
qrduplicata.fieldbyname('emitente_RAZAO').asstring := emitente_nome;
qrduplicata.fieldbyname('emitente_cnpj').asstring := emitente_cnpj;
qrduplicata.fieldbyname('duplicata_numero').asstring := sNumero_cupom;
qrduplicata.fieldbyname('duplicata_valor').asstring := formatfloat('###,###,##0.00',qrreceber.fieldbyname('VALOR').asfloat);
qrduplicata.fieldbyname('data_vencimento').asstring := qrreceber.fieldbyname('vencimento').asstring;
qrduplicata.fieldbyname('data_emissao').asstring := qrreceber.fieldbyname('data').asstring;
qrduplicata.fieldbyname('sacado_nome').asstring := qrcliente.fieldbyname('NOME').asstring;
qrduplicata.fieldbyname('sacado_endereco').asstring := qrcliente.fieldbyname('ENDERECO').asstring;
qrduplicata.fieldbyname('sacado_municipio').asstring := qrcliente.fieldbyname('CIDADE').asstring;
qrduplicata.fieldbyname('sacado_uf').asstring := qrcliente.fieldbyname('uf').asstring;
qrduplicata.fieldbyname('sacado_cep').asstring := qrcliente.fieldbyname('CEP').asstring;
qrduplicata.fieldbyname('sacado_cpf').asstring := qrcliente.fieldbyname('CPF').asstring;
qrduplicata.fieldbyname('sacado_rg').asstring := qrcliente.fieldbyname('rg').asstring;
qrduplicata.fieldbyname('sacado_praca').asstring := emitente_cidade;
qrduplicata.post;
frxPromissoria.LoadFromFile('\BsbSoft\Pdv\relatorios\promissoria.fr3');
frxPromissoria.ShowReport;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, que código confuso o seu... qrduplicata é um TQuery ou uma TTable? Se for uma tabela, seu padrão de nomenclatura está errado, pois lendo o que postou achei que fosse uma TQuery da vida... mas vamos lá... assumindo que seja uma TTable, de nada adianta dar um qrduplicata.last se sua tabela não tiver sido aberta primeiro para posicionar no último registro... deveria dar um open e depois o last para posicionar no último registro neste caso... segundo, pra que está dando um open, depois um edit seguido de um insert? Há uma confusão aqui nos seus comandos...

 

Partindo do princípio que está usando uma TTable da vida, o query.open deve ser usado para abrir a tabela, o query.edit só deve ser usado quando quiser editar os dados no registro atualmente posicionado e o query.insert para inserir um novo registro. Não se usa os 3 ao mesmo tempo como postou aqui, não faz sentido :pinch:

 

Agora, considerando que você esteja inserindo um registro e depois queira já imprimir o mesmo na sequência, o fluxo das operações seria:

 

1. Efetuar o insert dos dados na tabela

2. Comitar a gravação dos dados na tabela

3. Posicionar sua tabela no registro que quer imprimir (eu particularmente acho que seria melhor usar uma query aqui, afinal, tem a chave do registro nas variáveis, seria só dar um select simples e posicionar no registro desejado). Considerando que está usando table, use o comando locate para posicionar no registro desejado (veja este link de exemplo: http://forum.imasters.com.br/topic/323195-resolvidobusca-com-ttable-com-comando-locate/)

4. Após localizar o registro, ai sim exibir o relatório.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.