Ir para conteúdo

POWERED BY:

Arquivado

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

GustavoPG

Copiar informações BD e Web

Recommended Posts

Boa Noite,

Estou com uma dúvida e não estou conseguindo resolver. Estou montando um sistema de consulta na qual o usuario primeiramente deve selecionar os endereços que estão em um mailing em xls com ligação no Access.

Após selecionado os endereços ele clica em avançar e o sistema deve pegar os endereços selecionados verificar no arquivo inteiro aonde esses endereços se encontram e puxar para uma tabela do Access esses endereços com as informações desses endereços como Nome, telefone, endereço, numero, etc..

Só que quando vou rodar o aplicativo ele só puxa o primeiro endereço e mais nenhum... preciso que puxe todos os selecionados até o fim do aquivo xls. O código é esse que coloquei:

procedure Tseleciona.FormShow(Sender: TObject);
begin
DataModule3.Dadosexporta.Active := True;
DataModule3.dadosseleciona.Active := True;
DataModule3.dadosxls.Active := True;
DataModule3.dadosseleciona.First;
while not DataModule3.dadosseleciona.Eof do
begin
DataModule3.Dadosexporta.Edit;
DataModule3.Dadosexporta.Open;
DataModule3.dadosxls.Append;
for i := 0 to Pred(DataModule3.Dadosexporta.FieldCount) do
DataModule3.dadosexporta.FieldByName('Nome').Asstring := DataModule3.dadosxls.Fieldbyname('Nome').AsString;
DataModule3.dadosexporta.FieldByName('Endereco').Asstring := DataModule3.dadosxls.Fieldbyname('Endereco').AsString;
DataModule3.dadosexporta.FieldByName('Numero').Asstring := DataModule3.dadosxls.Fieldbyname('Numero').AsString;
DataModule3.dadosexporta.FieldByName('Complemento').Asstring := DataModule3.dadosxls.Fieldbyname('Complemento').AsString;
DataModule3.dadosexporta.FieldByName('Bairro').Asstring := DataModule3.dadosxls.Fieldbyname('Bairro').AsString;
DataModule3.dadosexporta.FieldByName('CEP').Asstring := DataModule3.dadosxls.Fieldbyname('CEP').AsString;
DataModule3.dadosexporta.FieldByName('Cidade').Asstring := DataModule3.dadosxls.Fieldbyname('Cidade').AsString;
DataModule3.dadosexporta.FieldByName('DDD').Asstring := DataModule3.dadosxls.Fieldbyname('DDD').AsString;
DataModule3.dadosexporta.FieldByName('Fone').Asstring := DataModule3.dadosxls.Fieldbyname('Fone').AsString;
DataModule3.Dadosexporta.Post;
DataModule3.dadosseleciona.Next;
end;
end;

DadosSeleciona = Tabela já com os endereços selecionados mas sem nenhuma outra informação somente Endereço.

DadosExporta = Tabela que vai ser salvos os endereços da tabela DadosSeleciona + todas as informações desses endereços.


2ºPasso seria fazer a ligação dessas informações já salva, pegando somente o Numero de telefone com DDD e passar para o site qualoperadora, retornando a operadora e se é portabilidade... Até injetar o numero e DDD já consegui, mas retornar com esses dados e salvar na tabela não consegui. Código dessa parte:

procedure Tconsulta.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('http://qualoperadora.info');
end;

procedure Tconsulta.Button1Click(Sender: TObject);
begin
WebBrowser1.OleObject.Document.all.Item('tel', 0).value := Edit1.text;
WebBrowser1.OleObject.Document.all.Item('bto', 0).Click;

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo!

 

Dica 1: Procure escrever o código dentro da opção "Código", dessa maneira fica mais fácil de compreender e te ajudar.

 

Dica 2: Procure enfatizar uma dúvida por tópico, do contrário fica complicado administrar as respostas para cada pergunta que não é pertinente a mesma dúvida e que no final pertence ao mesmo tópico.

 

Errado!

for i := 0 to Pred(DataModule3.Dado---porta.FieldCount) do 

Da forma acima, o que você faz é capturar as colunas que existe nessa table/query.

 

Correto!

DataModule3.dadosxls.First;
while not DataModule3.dadosxls.Eof do
...

Da forma acima, você varre registro a registro da tabela.

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.