ACCESS: ich möchte eine Datei monatlich ab einer bestimmten Zeile bis zur letzten ausgefüllten zeile importieren, wie?

1 Antwort

Du fragst dich sicher wie du diesen Vorgang automatisieren kannst. Eine generelle Wie Geht es Antwort gibt es hier nicht, das ist individuell von deinem Datenbestand und von der Struktur der Datenbank abhängig.

Mit VBA kannst du eine Importfunktion bauen aber nun ist die Frage ob du von Excel eine Tabelle nach Access Exportierts, also das VBA Script in Excel steht, das dann die Datenbank anspricht und jeweils Zeile für Zeile in die DB einfügt.

Der andere Weg ist sich die Daten von Excel zu holen, also ein Importscript das die Exceldatei öffnet und den Importvorgang so ausführt.

In jedem Fall wäre es Sinnvoll eine Spalte mit der Information ob Datensätze bereits exportiert wurden, einzurichten.

Woher ich das weiß:Berufserfahrung – Softwareentewickler / Unternehmensberater bei CSDIT iR

PrimMay 
Beitragsersteller
 22.03.2017, 09:55

oh, ich habe mich etwas zu unausführlich ausgedrückt. Tut mir leid.

Also ich muss monatlich eine große Menge an Datensätzen von Excel in ACCESS importieren. Ich kann bisher mit VBA das machen, jedoch wird im Moment der ganze Inhalt mit den aufsummierten Werten und den jeweiligen Überschriften importiert. Das möchte ich verhindern. Ich möchte monatlich erst nach der Zeile der Überschrift importieren, bis zur letzten ausgefüllten Zeile und das soll automatisiert ablaufen per VBA

0
geri3d  22.03.2017, 10:11
@PrimMay

Wie du die letzte ausgefüllte Zeile findest ist jetzt kein Geheimnis und wie gesagt eine Spalte mit einem Zeitstempel des Export.

Wenn du bereits eine Importfunktion hast wäre es hilfreich diese zu sehen, vielleicht auf pastebin.

1
PrimMay 
Beitragsersteller
 22.03.2017, 10:47
@geri3d

Dim qPath As String
Dim qTable As String
Dim file

sPath = fPath & "Report"
sTable = "tblReport"
file = Dir(sPath & "\*.xls*")

 

While file <> ""
  DoCmd.TransferSpreadsheet acImport, , qTable, qPath & "\" & file, False ', 
  file = Dir                                                                       
Wend 

 

so sieht es bisher aus. wie kann ich hier ab einer bestimmten zeile anfangen zu importieren

0
geri3d  22.03.2017, 11:05
@PrimMay

Der Code sieht ein bisschen danach aus als wäre es automatisch generiert.

Meine Vorgehensweise wäre das Excelsheet Objekt zu instanzieren und den Improtvorgang eben manuell steuern.

Dabei kannst du auch auf die Excelfunktionen zugreifen die du benötigst um die letzte Zeile zu finden.

Leider kann ich dir kein konkretes Beispiel zeigen dach zZ. nur OpenOffice habe und dort kenn ich mich nicht so aus.

0
PrimMay 
Beitragsersteller
 22.03.2017, 11:23
@geri3d

ne ist nicht automatisch generiert worden, naja jedenfalls, ich weiß was du meinst, aber das wäre zu viel aufwand. ich dachte eher an so etwas wie, nach dem komma oben bei
False, sheetname!6:letzteAusgefüllteZeile

0
Ir0nMan  22.03.2017, 11:27
@PrimMay

Also ich habe bisher immer meine Daten in eine "Export Tabelle" mit Bezügen eingefügt und diese Tabelle mit einem Namen definiert.

Die Export Tabelle muss natürlich genau wie die Tabelle der Datenbank aussehen, in der du importieren möchtest.

1
PrimMay 
Beitragsersteller
 22.03.2017, 11:38
@Ir0nMan

solche Möglichkeiten gibt es natürlich immer, aber das ist eben nicht das was ich will

0