Pessoal, na minha tabela tenho os seguintes campos:
Nome do campo tipo de dados
codigo auto numeração
assunto texto (onde fica o nome do paciente)
data data/hora
remetente texto
para texto
O campo assunto vem o nome do paciente, no campo data é a data de envio de um e-mail.
Todos as dados gravados nessa tabela são importados do outlook 2007, acontence que contantemente esses e-mail´s são enviando duplicados, são certa de 600 emails por dia. Para apagar os e-mail´s duplicados manualmente é muito demorado e fica muito ruim porque quantidade de e-email´s tende a aumentar.
Para facilitar, fiz uma consulta com um grid onde só me mostra os registros com o campo assunto (nome do paciente) igual, ficando assim:
Assunto Data
Andre Carlos 05/01/2010 15:00:00
Andre Carlos 05/01/2010 15:05:10
Andre Carlos 05/01/2010 20:00:00
Marcelo Ramos 05/01/2010 08:10:20
Marcelo Ramos 05/01/2010 08:20:00
Marcelo Ramos 05/01/2010 13:10:00
Para nós, os e-mail´s com diferença de até 10mim de um para o outro.
Minha necessidade é excluir 1 desses e-email´s para que fiquem assim:
quero excluir :
Assunto Data
Andre Carlos 05/01/2010 15:00:00
Marcelo Ramos 05/01/2010 08:10:20
Ficando assim:
Assunto Data
Andre Carlos 05/01/2010 15:05:10
Andre Carlos 05/01/2010 20:00:00
Marcelo Ramos 05/01/2010 08:20:00
Marcelo Ramos 05/01/2010 13:10:00
O código para selecionar as informações com o campo assunto igual eu tenho e é esse:
ADO_qry_telemedicina.Close;
ADO_qry_telemedicina.SQL.Clear;
ADO_qry_telemedicina.SQL.Add('SELECT t.* FROM telemedicina t');
ADO_qry_telemedicina.SQL.Add('WHERE EXISTS(SELECT COUNT(*), x.assunto FROM telemedicina x');
ADO_qry_telemedicina.SQL.Add('where x.assunto = t.assunto');
ADO_qry_telemedicina.SQL.Add('GROUP BY x.assunto');
ADO_qry_telemedicina.SQL.Add('HAVING COUNT(*) > 1 )');
ADO_qry_telemedicina.SQL.Add('ORDER BY assunto,data');
Para excluir eu acrescentei abaixo da última linha do código acima essa instrução
ADO_qry_telemedicina.SQL.Add('DELETE FROM telemedicina t');
ADO_qry_telemedicina.SQL.Add('WHERE data < (SELECT max(data) FROM telemedicina x');
ADO_qry_telemedicina.SQL.Add('WHERE t.data = x.data)');
ADO_qry_telemedicina.ExecSQL;
ADO_qry_telemedicina.Open;
Dá erro logo na compilação, mesmo assim, com esse código excluiria tudo e eu só quero excluir os registros com 10 mim de diferença.
Pergunta
piteco
Pessoal, na minha tabela tenho os seguintes campos:
Nome do campo tipo de dados
codigo auto numeração
assunto texto (onde fica o nome do paciente)
data data/hora
remetente texto
para texto
O campo assunto vem o nome do paciente, no campo data é a data de envio de um e-mail.
Todos as dados gravados nessa tabela são importados do outlook 2007, acontence que contantemente esses e-mail´s são enviando duplicados, são certa de 600 emails por dia. Para apagar os e-mail´s duplicados manualmente é muito demorado e fica muito ruim porque quantidade de e-email´s tende a aumentar.
Para facilitar, fiz uma consulta com um grid onde só me mostra os registros com o campo assunto (nome do paciente) igual, ficando assim:
Assunto Data
Andre Carlos 05/01/2010 15:00:00
Andre Carlos 05/01/2010 15:05:10
Andre Carlos 05/01/2010 20:00:00
Marcelo Ramos 05/01/2010 08:10:20
Marcelo Ramos 05/01/2010 08:20:00
Marcelo Ramos 05/01/2010 13:10:00
Para nós, os e-mail´s com diferença de até 10mim de um para o outro.
Minha necessidade é excluir 1 desses e-email´s para que fiquem assim:
quero excluir :
Assunto Data
Andre Carlos 05/01/2010 15:00:00
Marcelo Ramos 05/01/2010 08:10:20
Ficando assim:
Assunto Data
Andre Carlos 05/01/2010 15:05:10
Andre Carlos 05/01/2010 20:00:00
Marcelo Ramos 05/01/2010 08:20:00
Marcelo Ramos 05/01/2010 13:10:00
O código para selecionar as informações com o campo assunto igual eu tenho e é esse:
Para excluir eu acrescentei abaixo da última linha do código acima essa instruçãoDá erro logo na compilação, mesmo assim, com esse código excluiria tudo e eu só quero excluir os registros com 10 mim de diferença.
alguém pode me ajudar ?
Para as tabelas eu uso o ACCESS.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.