silent1982
Goto Top

Daten aus Access Tabelle löschen

Daten aus Excelfile in Access Tabelle löschen

Hallo,

gibt es eine einfache Möglichkeit, Datensätze die in einem Excel Sheet vorhanden sind aus einer Access Tabelle zu löschen ?

Ich habe ein Excel Sheet mit Rechnernamen welche ausgeschieden werden. Wie kann ich nun auf sehr einfache Weise,

diese unter Zuhilfenahme des Excelsheets, aus der vorhandenen Access Tabelle löschen?

mit bestem Dank im Voraus!

mfg

martin

Content-ID: 94147

Url: https://administrator.de/contentid/94147

Ausgedruckt am: 26.11.2024 um 04:11 Uhr

Biber
Biber 11.08.2008 um 19:02:03 Uhr
Goto Top
Moin silent1982,

natürlich geht das mit einer einfachen Query.
Wenn Du über Deinen Schatten springen könntest und folgende Interna preisgeben würdest, dann wäre eine brauchbare Antwort denkbar:
  • Excel-Version?
  • Laufwerk/Pfad/Name der Exceldatei
  • Name des Arbeitsblatts ODER benannter Bereich mit den "gelöschten PC"-Daten
  • Spaltenname ODER Spaltenposition des PC-ID-Feldes, dessen Inhalt in Access und Excel gleich ist
  • Name der PC-Tabelle in Access mit wenigstens dem Namen des Prüfspalte (PC-ID oder Inventarnummer...)
  • und, falls abweichend die Spaltennamen, die in Access den eindeutigen PK ergeben.

Und dann fangen wir an...

Grüße
Biber
... und ich hasse Montage....
silent1982
silent1982 12.08.2008 um 08:18:47 Uhr
Goto Top
Guten Morgen!

Danke für die schnelle Antwort!

ALSO:

- EXCEL 2003
- U:\Dokumente\Asset.xls
- Arbeitsblatt: IAD_Austria
- Die Spalte heisst in Excel HOSTNAME und in Access Nodename
- dbo_AssetHW

lg

martin
jweb
jweb 12.08.2008 um 09:29:20 Uhr
Goto Top
hi

also wenn du nicht unbedingt Scripten willst, würde ich die Excel Daten in dein Temp Tabelle in Access einlesen(über Import geht einlesen oder sogar verknüpfen, so kannst du die Excel Tabelle auch noch weiter pflegen, und die Daten sind in Access immer aktuell).
Mit dieser Temp Tabelle kannst du dir dann in Access eine Löschabfrage basteln!

Gruss
silent1982
silent1982 12.08.2008 um 10:50:04 Uhr
Goto Top
ICh habe jetzt die Tabelle importiert und eine SQL Abfrage gemacht. Ich gehe jetzt nach der Seriennummer vor.

Die Abfrage liefert aber nicht die Seriennummern die es in der IAD Austria nicht gibt. Es kommen immer alle Datensätze.

SELECT SerialNumber
FROM IAD_Austria,dbo_AssetHW WHERE NOT (SerialNumber = SERIAL_NR);

mfg
Biber
Biber 12.08.2008 um 11:08:54 Uhr
Goto Top
Moin silent1982,

dann sieht die SELECT-Abfrage so aus.
Select mdb.* 
From dbo_AssetHW mdb 
where mdb.Nodename in (Select xls.Hostname 
FROM [Excel 8.0; HDR=yes; Database=U:\Dokumente\Asset.xls;].[IAD_Austria$] AS xls)

Wenn es tut, dann den Text "select mdb.*" durch das Wort "DELETE" ersetzen.
Anschließend den Beitrag auf "erledigt" setzen.

Grüße
Biber
P.S. Antwort ist bezogen auf Deinen Kommentar "12.08.2008 um 08:18:47 Uhr:".
Dieses Nebengleis mit "Erst Importieren und dann über Serial" hab ich mir nicht angetan.
bastla
bastla 12.08.2008 um 13:55:27 Uhr
Goto Top
@Biber
Sollte eventuell in Zeile 2 noch ein "As" rein?

Grüße
bastla
silent1982
silent1982 12.08.2008 um 14:48:29 Uhr
Goto Top
ich habe es mittlerweile gelöst und zwar mit dieser Query:

DELETE dbo_AssetHW.SerialNumber, *
FROM dbo_AssetHW
WHERE (((dbo_AssetHW.SerialNumber) In (SELECT SerialNumber FROM dbo_AssetHW AS a LEFT JOIN IAD_AUSTRIA AS b ON a.SerialNumber = b.SERIAL_NR WHERE b.SERIAL_NR IS NULL)));

mfg
Biber
Biber 12.08.2008 um 16:22:49 Uhr
Goto Top
Verstehe ich nicht, silent1982,

geschrieben hattest Du oben:
... Datensätze die in einem Excel Sheet vorhanden sind aus einer Access Tabelle zu löschen ?

Lösung ist jetzt, aus der Access-Tabelle alle Sätze mit Seriennummern zu löschen, die in der Excel-Tabelle nicht vorhanden sind????

Da bin ich aber froh, dass Du meine Abfrage nicht ausprobiert hast - die hätte alle Sätze gelöscht, die in Excel auch vorhanden sind.

Grüße
Biber
P.S. @bastla:
"AS" ist doch nur für die Lesbarkeit.
Ist IMHO ein optionaler Syntaxbestandteil.
silent1982
silent1982 12.08.2008 um 16:51:08 Uhr
Goto Top
hallo,

ja sorry. war vielleicht etwas falsch formuliert. das habe ich aus deiner Antwort dann herausgelesen.

ich habe mir sowieso kopien der tabellen gemacht und mit diesen gearbeitet. hätte also nichts gemacht wenn etwas falsch gelaufen wäre.

aber ich habs ja hinbekommen. danke trotzdem für deine hilfe.

lg

silent