PessoALL, Estou com um problema que espero possam me ajudar. Me passaram um banco de dados ACCESS já com registros só para eu trabalhar relatorios. Tenho que fazer isso o mais breve possivel e estou com um problema. O problema esta em duas tabelas, uma chamada pesq (cadastro pesquisadores) e a outra chamada prod_b (produção destes pesquisadores. Na tabela pesquisadores tem um campo chamado area (area de atuação do pesquisador), a tabela de produção também deveria ter esse campo pois cada produção tem sua área de aplicação. Bom, eu criei o campo area na tabela produção e agora preciso colocar a área de cada uma delas. É muito registro e pensei em automatizar o serviço, e ai é que estou com problemas, vejam o que pensei fazer. Criei uma página ASP onde eu seto rs e rs1 para cada uma das tabelas. Depois eu abro um laço da tabela pesq ----- LAÇO DA TABELA PESQ ----- if not rs1.eof then while not rs1.eof ------ FECHA -------- e dentro do laço eu pego o valor da ID e AREA do pesquisador e coloco nas variaveis IDPESQ e PESQAREA. Depois abro o laço da tabela prod_b ----- LAÇO DA TABELA PROD_B ----- if not rs.eof then while not rs.eof ------ FECHA -------- Onde pego o valor do campo ID_PESQ (que é igual a ID do pesquisador). Na tabela PROD_B existem bem mais registros do que na tabela PESQ pois cada pesquisador pode ter várias produções e as produções estão ligadas ao pesquisador pelos campos ID (tabela pesq) e ID_PESQ (tabela prod_b). Depois de pegar a variavel ID_PESQ eu faço o update dos registros da tabela prod_b colocando o valor da variavel PESQAREA (area do pesquisador que peguei na tabela pesq) no campo AREA (da tabela prod_b) onde o ID_PESQ for igual a ID do pesquisador o qual peguei a area desta forma: db.Execute("update prod_b set area='"&pesqarea&"' where id_pesq="&idpesq&"") Então fecho o laço da tabela PROD_B e em seguida fecho o laço da tabela PESQ assim: rs.Movenext wend end if rs1.Movenext wend end if A idieá é que o sistema leria as variaveis do primeiro registro da tabela pesq e gravaria a ID do pesquisador e AREA numa variavel, depois ele iria para a tabela PROD_B onde leria compararia os campos ID_PESQ com a variavel ID escrevendo a variavel PESQAREA no campo AREA daqueles registros que fossem iguais. Ao terminar de fazer esta operação em todos os registros com ID igual ele passaria para o proximo registro da tabela PESQ e repetiria o processo. Em teoria esta tudo ok mas quando rodo o sistema ele faz isso apenas com o primeiro pesquisador, ele grava o valor da area do pesquisador no campo area na tabela prod_b mas faz isso só nas produções do primeiro pesquisador. Segue o código completo. ------------- <!-- #include file=conexao.asp --> <% Set rs = Server.CreateObject( "ADODB.Recordset" ) rs.ActiveConnection = db rs.open "SELECT * FROM prod_b" Set rs1 = Server.CreateObject( "ADODB.Recordset" ) rs1.ActiveConnection = db rs1.open "SELECT * FROM pesq" if not rs1.eof then while not rs1.eof idpesq = rs1("id") pesqarea = rs1("area") if not rs.eof then while not rs.eof idprod = rs("id_pesq") db.Execute("update prod_b set area='"&pesqarea&"' where id_pesq="&idpesq&"") rs.Movenext wend end if rs1.Movenext wend end if Obrigado a todos.