Just nu i M3-nätverket
Gå till innehåll

Villkor för mottagande databas


ottarpslisa

Rekommendera Poster

Hej,

Jag har två databaser i Access Lilla och Stora som jag skickar data mellan med hjälp av en tredje Skickningsdatabas.

 

Lilla stoppar in data i Skickningsdatabasen utan urskiljning och Stora tar emot data ur Skickningsdatabasen utan urskiljning.

 

Det som händer då är att om Stora har glömt om han tagit emot data ur Skickningsdatabasen och gör det en gång till (med samma Skickningsdatabas) får han dubbletter av all data och det är ju lite dumt.

 

Jag skulle alltså vilja göra en fråga som kollar innan INSERT till Stora

 

Typ såhär:

INSERT INTO Objekt IN 'C:\Stora.mde'

SELECT Objekt.*

FROM Objekt

WHERE NOT IN(SELECT Objekt.ID FROM Objekt);

 

Fast med rätt syntax....

någon som känner sig manad att hjälpa till?

 

 

Med Vänlig Hälsning

Lisa

Länk till kommentar
Dela på andra webbplatser

Jari Karivainio

Hej!

Det verkar som att du designat din/dina databaser utan att tänkt på "constraints" som ser till att just det du beskriver inträffar.

Se denna länk

Problemet kam lösas genom att lägga till en kolumn i en tabell/tabeller innehållande t. ex en "timestamp" .

/// Jari

Länk till kommentar
Dela på andra webbplatser

Jodå jag har fler egenskaper än ID i tabellen, men i denna frågan behöver jag inte joxa med det, är ID med i mottagande databas så ska den inte ta emot det igen så det räcker med en fråga liknande denna fast med rätt syntax.

 

Efter att ha tittat lite närmre på mitt inlägg ser jag att jag inte är det minsta tydlig:

-jag försöker igen.

 

Detta ska väljas från skickningsdatabasen

INSERT INTO Objekt IN 'C:\Stora.mde'

SELECT Objekt.*

FROM Objekt

 

Men bara de objekt som inte redan finns i mottagande databas

WHERE Objekt.ID NOT IN(SELECT Objekt.ID FROM Objekt);

 

Någon som vet?

Länk till kommentar
Dela på andra webbplatser

  • 2 veckor senare...

Är det verkligen ingen som vet eller har jag ställt frågan konstigt.

 

Jag vill alltså välja ut de uppgifter som inte finns i mottagande databas.

 

Typ såhär:

INSERT INTO MottagandeTabell IN MottagandeDatabas.mdb

SELECT AktivTabell.*

FROM AktivTabell

WHERE AktivTabell.ID

NOT IN(SELECT [MottagandeDatabas.mdb].[MottagandeTabell].[iD];

 

Och om det inte går så blir jag glad om någon berättar det för mig.

 

Lisa

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...