Travar um DBGrid com no maximo 21 itens para um recibo

22/05/2003

1

Ola turma do ClubDelphi, sou pai de duas meninas e trabalho em uma gráfica, meu salario não é muito bom mas o emprego é garantido, e para dar sustento para elas eu faço alguns extras já a três semanas que não pinta nada mas esta segunda pintou um serviço é programa de recibo, só que eu não manjo muito de Programação e por isso estou aqui pedindo a sua ajuda o meu problema é que não consigo travar um DBGrid com no maximo 21 itens para um recibo,
Se você puder me ajudar eu e minhas filhas agradecemos desde já, muito obrigado.


Responder

Posts

22/05/2003

Luza

Vc pode ter duas formas de fazer isto:

1)
Toda vez que for incluir um registro no corpo do pedido checar a quantidade de registro na tabela que vc esta utilizando para incluir os itens do recibo.

2)
Construir um StringGrid e apos inclusao dos dados do recibo gravar em um banco de dados somente aas linhas incluidas no StringGrid

Espero ter auxiliado...


Responder

22/05/2003

Okama

A cada inserção/alteração de registro, verifique a quantidade de registros na tabela.

if Table1.RecordCount >= 21 then 
   Showmessage( ´Limite de 21 Linhas´);



Responder

22/05/2003

Sam

Amigo, faça o seguinte crie uma tabela chamada RECIBO21.DB

E faça a atualização da tabela toda vez que você for abrir o Form recibo. E os DataSet´s
do form recibo ficam apontados para a tabela RECIBO21.DB. Ex:

no evento ONCREATE do Form recibo

procedure TF_Form1.FormCreate(Sender: TObject);
var i : integer;
beging
tabrecibo21.emptytable; //limpa tabela de recibos
tabrecibo21.open; //tabela de recibo onde ficara apenas 21 registros
tabrecibo.open; // tabela onde contem todos os registros do recibo
tabrecibo.first; // seta o primeiro registro da tabela
while i <= 21 do // enquanto i for menor igual a 21 faça
begin
tabrecibo21.insert; //insere um novo registro na tabela rebibo21
tabrecibo21numerorecibo.text := tabrecibonumerorecibo.text; //faça isso para todos os campos das tabelas
...
...
...
...
...
tabrecibo21.post; //grava tabela recibo21
tabrecibo.next //próximo registro
i := i+1; incrementa i
end;
tabrecibo.close; // fecha a tabela de recibo
end;

Se vc quiser fazer do último registro para o primeiro troque:
TabRegistro.first; para TabRegistro.last;
e
TabRegistro.next; para TabRegistro.prior;

Espero ter ajudado !!!


Responder