Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
932to936
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
932to936
932to936
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datenaustausch Excel-Access

Datenaustausch Excel-Access
17.12.2007 17:44:20
Boris
Hallo,
ich habe mit Excel ein "Werkzeug gebaut", dass verschiedene Excel-Blätter erstellt, deren Inhalt nun in Access importiert werden soll. Die Tabellen existieren in Access mit gleichem Namen. Alle Blätter sollen nun über alle verwendeten Spalten und verwendeten Zeilen übertragen werden. Davor sollen die bestehenden Datensätze in Access gelöscht werden.
Es handelt sich um 10-15 Tabellen mit 100 bis teilweise 4000 Zeilen.
Löse ich das per VBA oder gibt es eine andere Möglichkeit? Ein Verlinken der Tabellen funktioniert nicht richtig und sperrt auch die Tabellen in Access zur weiteren Verwendung.
Programmiert man das am besten in Excel oder in Access?
Über Anregungen würde ich mich freuen.
Gruß, Boris

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenaustausch Excel-Access
18.12.2007 09:19:05
Boris
Hallo,
leider "sperrt" Access die verlinkten Tabellen. So kann man z.B. kein Schlüsselattribut mehr zuweisen. Auch das Auslesen der Access-Tabellen über eine externe Software funktioniert nicht mehr. Die externe Software meckert, dass sie die Tabellen nicht manipulieren kann.
Deshalb denke ich, dass hier VBA zum Einsatz kommt... oder irre ich mich?

Anzeige
AW: Datenaustausch Excel-Access
18.12.2007 15:07:00
Boris
Hallo,
um mein Problem zu lösen habe ich folgende Idee. Ich programmiere ein Makro in Excel, dass folgende Schritte durchführt (nur logische Lösung, kein VBA-Code:))
für jedes Sheet aus array = ("Overview","Template","Valuation") - das sind die Blätter/Tabellen
für jede intZeile von 1 bis LetzteZeile
für jede intSpalte von 1 bis LetzeSpalte
hier muss jetzt ein copy-befehl rein, der die Access-Tabelle anspricht und den Inhalt der Excel-Zelle (intZeile, intSpalte) kopiert
next Spalte
next Zeile
next Sheet
nur mal so ein Gedankenkonstrukt. Ich habe allerdings keine Ahnung, wie ich die Access-DB, die im gleichen Verzeichnis liegt anspreche. Muss ich diese Öffnen oder geht das auch so? und wie sieht der Copy-Befehl dann aus?
Hoffe, mir kann jemand helfen. Viele Grüße.

Anzeige
AW: Datenaustausch Excel-Access
18.12.2007 17:54:06
Luschi
Hallo Boris,
den Datenaustausch zwischen Excel/Access und umgekehrt mache ich immer per ADODB/ADOX.
Wenn Du je eine Excel- und Access-Datei mit Demodaten bereitstellst, helfe ich Dir gerne.
Gruß von Luschi
aus klein-Paris

AW: Datenaustausch Excel-Access
19.12.2007 09:35:00
Boris
Hi Luschi,
ok, davon habe ich allerdings überhaupt keinen Plan. Generelle Fragen dazu bzw. Erläuterung:
Die Access-Datenbank wird als Basis für eine andere Anwendung benötigt (in die später die Access-Daten per ODBC importiert werden) und hat (muss) eine feste Struktur (haben). Es existieren (in Access) ca. 100 Tabellen, von denen jedoch nur 15 befüllt sind, die restlichen Tabellen sind leer. Diese 15 Tabellen habe ich in Excel "nachgebaut", d.h. der Benutzer gibt in anderen Excel-Blättern Daten ein, aus denen dann diese 15 Blätter (bzw. Blätterinhalte) generiert werden. D.h. in Excel existieren x Blätter für die Eingabe und weitere 15, die vom Spalten-Aufbau identisch zu denen in Access sind und deren Daten übertragen werden sollen.
Am liebsten hätte ich in Excel einen Button, der dann die Aktualisierung vornimmt.
Was benötige ich für ADODB/ADOX? Muss dafür etwas installiert werden? Kann die Prozedur von verschiedenen Rechnern und/oder Benutzern gestartet werden? Kann die Prozedur mit wenig Aufwand angepasst werden (zb Änderung der Tabellenanzahl)? Kann der jeweilige zu übertragene Tabellenbereich automatisch ermittelt werden (also von Zelle X bis letzte beschriebene Spalte und Zeile)?
Vielleicht sollten wir erst diese Fragen klären, bevor ich Bespieldateien zur Verfügung stelle:)
Viele Grüße,
Boris

Anzeige
AW: Datenaustausch Excel-Access
19.12.2007 19:01:07
Luschi
Hallo Boris,
seit Windows 2000 gehört ADODB zum Betriebssystem und ist somit auf jedem der Rechner vorhanden.
Ich mache Dir bis Morgen Abend mal ein kleines Beispiel, wie man Daten von Excel nach Access schaufelt.
Ein Problem werden natürlich die Datentypen in Access sein. Wenn dort in einer bestimmten Spalte ganze Zahlen erwartet werden und der User hat in der gleichen Spalte der Exceltabelle kommazahlen eingegeben, dann kann dem das noch leicht lorrigieren, wurde aber ein Text eingegeben, dann wird es schon problemtischer (statt 10 [eins-null] wurde 1O [1Oh]).
Alles Andere kann man in einen Einstell-Formular abfragen oder auch berechnen.
Laß und doch erstmal mit 1 Tabellen anfangen.
Gruß von Luschi
aus klein-Paris
Frage: Sind die Tabellen in der Access-DB per Primary-/Fremsschlüssel verknüpft?

Anzeige
AW: Datenaustausch Excel-Access
20.12.2007 10:14:19
Boris
Hallo Luschi,
habe in der Zwischenzeit schon ein wenig über ADO gelesen. Scheint eine gute Lösung zu sein:)
Zur Dateneingabe: diese passiert ja nicht direkt in den zu übertragenen Excel-Tabellen, die Daten werden aus den Eingabe-Sheets zusammengebaut. Eine Datentyp-Abfrage pro Spalte ist deshalb nicht nötig. Es kann natürlich sein, dass beim Einfügen dennoch ein Fehler auftritt. Dann sollte die Prozedur abgebrochen werden und die entsprechende Tabelle/Spalte mitgeteilt werden.
Die Access-Sheets sind nicht verknüpft. Die richtige Strukturierung gewährleistet das Excel-Modell. So können die Access-Tabellen-Datensätze nacheinander gelöscht und dann wieder befüllt werden.
Ich habe in der Zwischenzeit Beispiel-Dateien angelegt. Diese könnte ich Dir zur Verfügung stellen. Auf welchem Wege kann ich dies tun?
Viele Grüße

Anzeige
AW: Datenaustausch Excel-Access
20.12.2007 11:48:10
Luschi
Hallo Boris,
füge die folgende Formel in eine Excel-Zelle ein und drücke Enter
=ZEICHEN(102)&ZEICHEN(97)&ZEICHEN(109)&ZEICHEN(46)&ZEICHEN(110)&ZEICHEN(117)&ZEICHEN(99)&ZEICHEN(107) &ZEICHEN(64)&ZEICHEN(116)&ZEICHEN(101)&ZEICHEN(108)&ZEICHEN(101)&ZEICHEN(50)&ZEICHEN(46)&ZEICHEN(100) &ZEICHEN(101)
Gruß von Luschi
aus klein-Paris

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige