Daten aus MS Excel in MS Access aktualisieren

12/06/2009 - 12:06 von Holger D. | Report spam
Hallo NGs,

kurz vor dem Wochenende benötige ich nochmals Hilfe in einer Sache, die mich
schon lange beschàftigt und ich keine Lösung dazu finde.

Ich importiere Daten aus Excel nach Access mit dem Befehl:
DoCmd.TransferSpreadsheet.

Das funktioniert auch wunderbar.
Nun bin ich aber auf der Suche nach einer Möglichkeit, bei der ich die nun
existente Tabelle in Access immer wieder per Button aktualisieren kann.

Die Exceltabelle enthàlt dabei wöchentlich neue und alte DS in gemischter
Form. Und ich möchte nun die bereits vorhandenen Daten in Access unberührt
lassen und nur die Neuen (Zeilen) in Excel anfügen. Mit einer Anfügeabfrage
funktioniert es deshalb nicht sicher, weil es sich um SAP-Daten handelt, die
auch gerne mal den Datentyp àndern. Das führt dann automatisch zu einer
Fehlermeldung...

Gibt es ein SQL-Befehl in Access, bei dem ich nur auf die neuen DS in Excel
zugreife, diese auslese und in die Access-Tabelle einpflege??

Danke für die Hilfe!! Ich verzweifele daran schon seit Tagen...

Schöne Grüße,
Holger


in Excel:
J:\DATA\Transfertabelle.xls > Tabellenblatt Kopfdaten

in Access:
Tabelle: tbl_Kopfdaten

im SQL-Befehl könnte das Kriterium heißen... from * where
Auftragsnummer>tbl_Kopfdaten.Auftragsnummer ...
 

Lesen sie die antworten

#1 Peter Doering
12/06/2009 - 12:28 | Warnen spam
Hallo,

Holger D. wrote:

Ich importiere Daten aus Excel nach Access mit dem Befehl:
DoCmd.TransferSpreadsheet.

Das funktioniert auch wunderbar.
Nun bin ich aber auf der Suche nach einer Möglichkeit, bei der ich die nun
existente Tabelle in Access immer wieder per Button aktualisieren kann.

Die Exceltabelle enthàlt dabei wöchentlich neue und alte DS in gemischter
Form. Und ich möchte nun die bereits vorhandenen Daten in Access unberührt
lassen und nur die Neuen (Zeilen) in Excel anfügen. Mit einer Anfügeabfrage
funktioniert es deshalb nicht sicher, weil es sich um SAP-Daten handelt, die
auch gerne mal den Datentyp àndern. Das führt dann automatisch zu einer
Fehlermeldung...

Gibt es ein SQL-Befehl in Access, bei dem ich nur auf die neuen DS in Excel
zugreife, diese auslese und in die Access-Tabelle einpflege??



Du suchst nicht nach einem Befehl, sondern nach einem Konzept. Ich wuerde
so vorgehen:

- Excel-Daten per TransferSpreadsheet in temporaere Tabelle einlesen.
- Alle neuen DS per Anfuegeabfrage in die "echte" Tabelle schreiben.
Beispiel:

INSERT INTO PermanenteTabelle
SELECT * FROM TempTabelle AS T1
LEFT JOIN PermanenteTabelle AS T2 ON T1.ID=T2.ID
WHERE T2.ID Is Null

Gruss - Peter

Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen