Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
AMB

como posso comparar dados entre uma tabela acess e outra sql

Recommended Posts

AMB

é o seguinte eu tenho uma tabela access [pat] com um campo [id], e tenho uma tabela sql [temp] com um campo [id]

a tabela sql está constantemente a ser actualizada e a access é actualizada via JAVA de 2 em 2h, mas o que pretendo é inserir os dados da tabela sql na tabela access que ainda não existam!

Primeiro devo ter de comparar os ids....

alguma ideia???

não percebo muito de base dados....

deve ser simples mas não estou conseguir chegar lá

Share this post


Link to post
Share on other sites
M6

Presumo que por SQL queiras dizer SQL Server...

Verifica se podes criar um DBLink do SQL Server para o Access (creio que não é possível, mas vale a pena tentar).

Se for possível passas a poder aceder ao Access a partir do SQL Server e podes fazer as comparações que entenderes.

Se não podes sempre fazer uma aplicação especifica para fazer isso, fazes as queries às bases de dados e comparas os ids na aplicação.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
fLaSh_PT

Com o SQL Server 2005/2008 podes criar Linked Server..

Depois disso feito.. podes fazer algo do tipo:

SELECT * FROM  tableSQL AS T JOIN tableAccess AS A WHERE T.id NOT IN A.id

Assim será apresentado todos os registos de tableSQL  que não estejam em tableAccess ..

Da uma vista de olhos aqui: http://www.mcdbabrasil.com.br/modules.php?name=News&file=article&sid=66

Compr.


Making the impossible possible and pwing the world on db at a time.

Share this post


Link to post
Share on other sites
AMB

já criei o linked server direitinho mas a query que você colocou não está funcionando dá erro no WHERE 🤔

Obrigada

Share this post


Link to post
Share on other sites
M6

Muda a query, em vez de NOT IN coloca <> na clausula where.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
AMB

uma questão:

eu quando queria inserir na tabela de access o que não estava repetido na SQL fiz:

select * from pat where pat.id not in (select pat_id from dbaccess...patient)

sendo o dbaccess o linked server que criei

Agr queria fazer o contrario, ou seja inserir na sql o que não está repetido na access

tenho de criar um linked server a partir do access??? como faço isso???

Share this post


Link to post
Share on other sites
M6

Uma vez criado o link entre as bds, só tens de fazer a query no sentido inverso: select * from dbaccess...patient where pat.id not in (select pat_id from pat)


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
joelcorreiaricardo

Ja experimentas-te abrir o Access, criar uma ligação a tabela do SQL Server e criar uma consulta de comparação? E mais user-friendly :)

Com o Access 2007 consegues fazer isso muito facilmente.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.