USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Aos "cobras" (Ghols_jlp, LCRamos,Daniel, etc.)
Perci
não registrado
Postada em 21/06/2006 10:20 hs   
Olá, amigos.
Preciso saber como fazer o seguinte:
Tenho duas tabelas de vendas. Quero mover o conteúdo da tabela1 para a tabela2.
Acontece que podem haver registros duplicados, já que as duas tabelas não possuem
uma chave primária. Seria assim:
Transportar os registros da tabela1 para a tabela2, verificando se existe o registro
em duplicidade; se existir, não mover o registro; se não existir, mover o registro.
Mas eu tenho que verificar todos os campos de um registro para ver se eles estão
iguais e depois poder mover (ou não) para a tabela2.
Como posso colocar isso no comando SQL?
 
As duas tabelas possuem campos iguais e mesmo tamanho. São eles:
 
Campo       Descrição            Tipo
=======================================
CodCli   -  Código do cliente      N
DataPed  -  Data do pedido         D
NumPed   -  Número do pedido       N
Desconto -  Desconto do pedido     T
Prazo    -  Cond. de Pagamento     T
Valor    -  Valor do pedido        T
 
Por favor me ajudem !!!!!
     
7Cordas
PORTO ALEGRE
RS - BRASIL
Postada em 21/06/2006 14:18 hs            
Cara, me parece simples.

Se eu entendi bem o que tu queres, lá vai:

Dim sSQL       as string
Dim rsTabela1    as new adodb.recordset (para DAO use "as Recordset")
Dim rsTabela2    as new adodb.recordset (para DAO use "as Recordset")


rsTabela1.open
Do while not rsTabela1.eof
    sSQL = "SELECT Campos_Que_Tu_Quiseres FROM Tabela2 WHERE "
    ssql = ssql & "CodCli=" & rsTabela1!CodCli & " AND "
    (daí continua montando teu sql dentro deste loop)

    rsTabela2.open sSQL
    if rstabela.eof then
        VariavelDeConexao.Execute sSQL
    end if
  
    rsTabela1.movenext
loop



ESPERO TER TE AJUDADO

Cristiano Fischer
Projeto SIGA - Sistemas Integrados de Gestão
     
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 21/06/2006 15:01 hs            
quando voce diz verificar todos os campos é se eles contem dados?
Afinal se ele só esta na tabela1 vou verificar se esta igual a o que?
OU existe a possibilidade de ter varios pedidos com o mesmo número na tabela1?
 

dsmn
     
Perci
não registrado
Postada em 22/06/2006 07:17 hs   
Daniel, todos os campos das duas tabelas contém registros. Só que pode ser que aconteça de ter registros na tabela2 que sejam iguais aos da tabela1. Por isso eu quero que quando mover um registro da tabela1 para a tabela2, verificar se ele é igual, porque eu quero que o registro não apareça duplicado na tabela2 (que é a que eu vou usar no meu projeto)
 
Quanto ao exemplo do amigo 7Cordas, vou tentar e depois retorno se deu certo ou não.
Obrigado
     
Cardoso G
Pontos: 2843 Pontos: 2843
PATOS DE MINAS
MG - BRASIL
Postada em 22/06/2006 11:49 hs            
dim tb1 as adodb.recordset
dim tb2 as adodb.recordset
 
set tb1 = new adodb.recordset
set tb2 = new adodb.recordset
 
sql1="select cod,desc from tabela1"
sql2="select cod,desc from tabela2"
 
tb1.open cnx,sql1
tb2.open cnx,sql2
while not tb1.eof
   tb2.moveMin
   while not tb2.eof
      if tb1("cod") <> tb2("cod") or tb1("desc") <> tb1("desc")  'etc...
         insere_tabela1
      else
         tb2.movenext
      endif
   wend
   tb1.movenext
wend
 
 
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página