Fórum Buscando items de um listbox para tabela #182001
14/09/2003
0
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
Curtir tópico
+ 0
Responder
Posts
14/09/2003
Carlosrm
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
Responder
Gostei + 0
14/09/2003
Carlosrm
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.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)