Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

AMB

como posso comparar dados entre uma tabela acess e outra sql

Mensagens Recomendadas

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á

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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???

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.