Jag skulle vilja, med jämna mellanrum, hämta vissa kolumner ur en tabell i en databas och lägga dem efter varandra i en tabell i en annan databas. Eftersom datat redan finns i din accesstabell så kan du givetvis vid vissa intervall ta ut och sammanställa det data du har. Det finns rapportgenerator för att skapa rapporter, alternativt skriva några sql-frågor för att hämta det du är ute efter. Jag vill inte sammanställa det i en rapport (än), bara lagra det i en annan tabell för senare sammanställning. Om du kör den här frågan i din första databas så överförs data till din andra databas: Det funkar fint, första gången jag kör frågan. Men sedan får jag felet: 80 poster läggs inte till på grund av nyckelfel. Kontrollera primärnyckeln i den tabell som du överför data TILL. Om du använder frågan: Tack så mycket för hjäpen! Det fungerar bra nu! Om du kan ha en accessapplikation igång 24/7 så borde det väl inte vara några problem med någon timerliknande funktion? Kanske om du googlar lite på timers i Access-VB-Script eller liknande. Det borde väl lösa det mesta om du fick en timer att gå exempelvis en gång var tionde sekund? Forumuläret har en timerfunktion, där du kan sätta ett Interval. Kolla upp det, jag tror du har en lösning där!Hämta data ur databas
Exempel:
En tabell inehåller följande kolumner: Id, Data1, Data2 och Data3.
Den andra tabellen inehåller följande kolumner: Id, Datum, Data2.
Id, Data2 och dagens datum skall alltså läggas in i den andra tabellen från den första t.ex en gång i månaden.
Jag har tittat lite på "frågor" och fått fram en "fråga" med den data jag vill ta fram, men det är bara den tillfälliga datan, som ändras kontinuerligt. Den vill jag spara, som en historik ungefär.
Jag har även testa att göra ett macro med "ÖverförData", men då skapas en ny tabell för varje överföring.
Hur ska jag lösa detta/något likvärdigt? Går det i direkt i Acess eller behövs Visual Basic?
//PeterSv: Hämta data ur databas
Tyvärr kan jag inte svara mer konkret då frågan är abstrakt samt att man inte vet vad det finns för data att tillgå.Sv: Hämta data ur databas
Jag kanske var lite otydlig där...Sv: Hämta data ur databas
INSERT INTO Tabell2 IN 'D:\Test\Db1.mdb' SELECT Id, Data2, Date() AS Datum FROM Tabell1;
Frågan körs i den första databasen.
Om fältet "Id" är en räknare så utesluter du den ur frågan.
PS. Jag skulle inte använda fältnamet "Datum" i en tabell eftersom det kan krocka med funktionen "Datum" i frågor, formulär och rapporter.Sv: Hämta data ur databas
Vad beror det på?Sv: Hämta data ur databas
INSERT INTO Tabell2 IN 'D:\Test\Db1.mdb' SELECT Id, Data2, Date() AS Datum FROM Tabell1;
och fältet Id är primärnyckel i Tabell2 så blir det dubletter om samma post från tabell1 kan överföras till Tabell2 mer än en gång.
Lös det genom att lägga till ett nytt räknarfält i Tabell2 som får bli den tabellens primärnyckel, eller genom att låta en kombination av fälten "Id" och "Datum" vara primärnyckel i Tabell2.Sv: Hämta data ur databas
Du har inte händelsevis något bra förslag på hur jag ska få den att köras automatiskt med ett visst tidsinterval?Sv: Hämta data ur databas
Sv: Hämta data ur databas