Buscando items de um listbox para tabela
Olá Pessoal, preciso de ajuda com uma certa urgência, é o seguinte:
Preciso gravar em um listbox um item por vez selecionado de uma determinada tabela e depois, uma outra tabela irá receber estes dados do listbox todos de uma só vez.
Uso Paradox.
Muito obrigado, Marcelo
Preciso gravar em um listbox um item por vez selecionado de uma determinada tabela e depois, uma outra tabela irá receber estes dados do listbox todos de uma só vez.
Uso Paradox.
Muito obrigado, Marcelo
Marcrv2
Curtidas 0
Respostas
Carlosrm
14/09/2003
marcelo,
Copiar direto de uma tabela para outra não resolve a situação ? Por exemplo
(Se a segunda tabela (TabelaDestino) estiver previamente vazia, vc pode usar append. Se a TabelaDestino já tiver itens, vc pode verificar se o item já exite na TabelaDestino. Se existir, use edit. Se não existir, use append.
procedure...
begin
TabelaOrigerm.first;
While not TabelaOrigem.eof do begin
If TabelaDestino.Locate(´Campo1´, tabelaOrigemCampo1, []) then
TabelaDestino.Edit
Else
TabelaDestino.Append;
TabelaDestinoCampo1.As... := TabelaOrigemCampo1.As...;
- - -
TabelaDestinoCampoN.As... := TabelaOrigemCampoN.As...;
TabelaOrigem.next;
End; // while not...
TabelaDestino.Post; // se vc não movimentar nunca mais o ponteiro da tabelaDestino (first, next, filter, indexname :=...) o último registro apendado/editado não será gravado. Por isso o post.
Vc ainda pode usar o comando ´with do´ para diminuir a digitação. Mas o ideal mesmo é usar SQL. Para as necessidades acima, Use TQuery no lugar de TTable e aproveite as faciliidades da SQL contida no Delphi, mesmo com Paradox.
Se não ajudou, espero não ter atrapalhado. carlosrm
Copiar direto de uma tabela para outra não resolve a situação ? Por exemplo
(Se a segunda tabela (TabelaDestino) estiver previamente vazia, vc pode usar append. Se a TabelaDestino já tiver itens, vc pode verificar se o item já exite na TabelaDestino. Se existir, use edit. Se não existir, use append.
procedure...
begin
TabelaOrigerm.first;
While not TabelaOrigem.eof do begin
If TabelaDestino.Locate(´Campo1´, tabelaOrigemCampo1, []) then
TabelaDestino.Edit
Else
TabelaDestino.Append;
TabelaDestinoCampo1.As... := TabelaOrigemCampo1.As...;
- - -
TabelaDestinoCampoN.As... := TabelaOrigemCampoN.As...;
TabelaOrigem.next;
End; // while not...
TabelaDestino.Post; // se vc não movimentar nunca mais o ponteiro da tabelaDestino (first, next, filter, indexname :=...) o último registro apendado/editado não será gravado. Por isso o post.
Vc ainda pode usar o comando ´with do´ para diminuir a digitação. Mas o ideal mesmo é usar SQL. Para as necessidades acima, Use TQuery no lugar de TTable e aproveite as faciliidades da SQL contida no Delphi, mesmo com Paradox.
Se não ajudou, espero não ter atrapalhado. carlosrm
GOSTEI 0
Carlosrm
14/09/2003
marcelo,
deculpe. Faltou o último ´ end; ´ para fechar a procedure, logo após ´ TabelaDestino.post; ´
carlosrm.
deculpe. Faltou o último ´ end; ´ para fechar a procedure, logo após ´ TabelaDestino.post; ´
carlosrm.
GOSTEI 0