Supportnet / Forum / Datenbanken
Excel Datei in Access importieren
Frage
Hallo!
Also mein Problem ist folgendes: Ich will eine Excel Tabelle in Access importieren, das Problem ist jedoch, dass die ersten 5 Zeilen in der Excel Tabelle unbrauchbar sind und von daher gelöscht müssen. Jetzt meine Frage wie kann ich in Access sagen, dass der mir die ersten 5 Zeilen der Excel Tabelle direkt beim Einlesen der Tabelle löscht?!? Wie kriegt man das am besten hin?
In Excel selber kann man ja einfach ein Makro schreiben, dass mir beim starten der Datei die ersten 5 Zeilen löscht. Dasselbe will ich jetzt in Access hinkriegen, nur ich weiß nicht wie (per Modul vielleicht?)
Für Hilfe bzw Quellcodes und wie man es macht wäre ich sehr dankbar!!
Antwort 1 von mapet
Hallo
Wenn Du den import schon programmiert hast kannst Du den Code auf Dich angepasst so erstellen:
folgender Code löscht in der Tabelle Test die Datensätze mit der PNR 1-5
Dim db As Database
Set db = CurrentDb
db.Execute "Delete* from T_Test WHERE pnr_Test < 6"
mapet
Wenn Du den import schon programmiert hast kannst Du den Code auf Dich angepasst so erstellen:
folgender Code löscht in der Tabelle Test die Datensätze mit der PNR 1-5
Dim db As Database
Set db = CurrentDb
db.Execute "Delete* from T_Test WHERE pnr_Test < 6"
mapet
Antwort 2 von Doehli18
Hallo!
Ich bin in dieser Hinsicht Anfänger, ich habe mir also die Excel Tabelle über Datei ->Externe Daten->Importieren , importiert.
Die Tabelle habe ich nach Test benannt.
Jetzt habe ich deinen Code in ein Modul geschrieben aber es kommt ein Fehler bein Kompilieren :
"Fehler beim Kompilieren: Außerhalb einer Prozedur ungültig"
Wer kann mir weiterhelfen?
Doehli18
Ich bin in dieser Hinsicht Anfänger, ich habe mir also die Excel Tabelle über Datei ->Externe Daten->Importieren , importiert.
Die Tabelle habe ich nach Test benannt.
Jetzt habe ich deinen Code in ein Modul geschrieben aber es kommt ein Fehler bein Kompilieren :
"Fehler beim Kompilieren: Außerhalb einer Prozedur ungültig"
Wer kann mir weiterhelfen?
Doehli18
Antwort 3 von Teddy7
Weiterhelfen kann Dir ein gutes Fachbuch !!!
Natürlich darf man den Code nicht einfach ins Modul schreiben.
Der funktioniert nur in einem Ereignis - z.B. dem klick-Ereignis eines Befehlsbuttons.
Im Ernst - wenn Du das nicht weißt empfehle ich dringend erst mal die Grundlagen zu studieren.
Sonst hast Du Dir schneller einen Knoten programmiert als Du gucken kannst.
Access ist da ziemlich zickig.
Gruß
Teddy
Natürlich darf man den Code nicht einfach ins Modul schreiben.
Der funktioniert nur in einem Ereignis - z.B. dem klick-Ereignis eines Befehlsbuttons.
Im Ernst - wenn Du das nicht weißt empfehle ich dringend erst mal die Grundlagen zu studieren.
Sonst hast Du Dir schneller einen Knoten programmiert als Du gucken kannst.
Access ist da ziemlich zickig.
Gruß
Teddy
Antwort 4 von ElBobbele
Hallo Doehli18!
Der VBA-Code muss sich innerhalb eines Prozedurrumpfes befinden.
Zusätzlich musst du mapet's SQL-Anweisung an deine Umgebung anpassen, d.h. der Tabellen- und Feldname müssen ausgetauscht werden.
Gruss
El Bobbele
Der VBA-Code muss sich innerhalb eines Prozedurrumpfes befinden.
Sub Prozedurname()
Dim db As Database
Set db = CurrentDb
db.Execute "Delete * from T_Test WHERE pnr_Test < 6"
End SubZusätzlich musst du mapet's SQL-Anweisung an deine Umgebung anpassen, d.h. der Tabellen- und Feldname müssen ausgetauscht werden.
Gruss
El Bobbele

