Supportnet Computer
Planet of Tech

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

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



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

Antwort 4 von ElBobbele

Hallo Doehli18!

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 Sub


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