Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
904to908
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
904to908
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten in einer Access Datebank aus Excel heraus up

Daten in einer Access Datebank aus Excel heraus up
12.09.2007 17:05:00
Holg
Hallo Forum,
ich versuche mittels VBA Datensätze aus einer Access Datenbank heraus zu lesen, in Excel VBA zu bearbeiten und anschließend wieder in die Datenbank zurück zu schreiben.
Das Neuanlegen von Datensätzen mit '.AddNew' funktioniert sehr gut, nur wie ich einen vorhanden Datensatz überschreiben kann, habe ich noch nicht raus gefunden.
In einer Form kann der User entweder neue Datensätze anlegen, oder vorhandene editieren. Das Script dazu ist wie folgt:
'Dateiname der Datenbank
Public Const Dateiname = "D:\Documents and Settings\u820144\My Documents\aa Holgers Data\Development\DST Database\DST DataBase.mdb"
'Tabellenname in der Datenbank
Public Const Tabellenname = "Data"
Dim Datenbank As Database
Dim Datensatz As Recordset
Dim Tabelle As TableDef

Private Sub cbSave_Click()
Set Datenbank = OpenDatabase(Dateiname)
Set Datensatz = Datenbank.OpenRecordset(Tabellenname)
With Datensatz
If StatusFlag = "NEW" Then
.AddNew
Else
.Edit
End If
.Fields("Case #").Value = frmDataEntry.lblStatus.Caption
.Fields("Executive").Value = frmDataEntry.tbExecutive
.Fields("Request received").Value = frmDataEntry.tbReceivedOn
.Fields("Last update").Value = Now
.Fields("Received from").Value = frmDataEntry.tbReceivedFrom
.Fields("Department raised").Value = frmDataEntry.cboxDepartment
'Datensatz updaten
.Update
.Bookmark = .LastModified
End With
Datenbank.Close
End Sub


Das Problem ist - wie gesagt - einen vorher in die Form geladenen Datensatz geändert zurück zu schreiben.
Ich arbeite übrigens mit DAO und die Tabelle ist indiziert (der Index darf nur einmal vorkommen).
Könnt Ihr mir helfen?
Vielen Dank!
Holg

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in einer Access Datebank aus Excel herau
12.09.2007 20:36:51
Gert
Hallo Holg,
über "ODB" kann von "Access" aus auf "xls-Tabellen" zugegriffen werden.
Xls-Dateien können von "Access" importiert werden.
Aber von "xls" aus Access-Tabellen über ein "xls-Formular" zu ändern und in der "MDB" zu
speichern erscheint mir unsinnig. Erst recht wenn es sich um eine "DAO-MDB" handelt.
Da diese "DAO-MDB" mit der Jet-engine (bis Vers.3.6) läuft und ab "Access2000" nur noch "ADO-2.1"
verstanden wird, aus Gründen der kompatibilität mit "SQL_Server-Datenbanken-Zugriff" MSDE
auf andere DB's (Oracle oder IBM).
Müssen die VBA_Module der DAO_MDB's zum Teil händisch umgeschrieben werden, da sie sonst
ab "Access2000" nicht mehr verstanden werden.
Ein "Access-Formular" sollte es doch auch tun, oder ?
mfg
Gert

Anzeige
AW: Daten in einer Access Datebank aus Excel herau
13.09.2007 11:31:00
Holg
Hallo Gert,
vielen Dank für Deine Antwort. Ja, es klingt leider ein wenig unsinnig - aber meine Firma ist - zumindest bei diesem Thema - recht rückständig.
Die User haben kein MS Access (und kriegen es auch nicht), sie müssen aber - mehr oder weniger gleichzeitig - einen Datenpool bearbeiten (eine Tätigkeits-Datenbank). Ich wollte zuerst eine Excel Datenbank bauen, aber das ist natürlich auch so eine Sache. Deshalb dachte ich, eine mdb Datenbank kann ja recht gut von Excel bearbeitet werden. Wie gesagt, neue Datensätze schreiben geht prima - genauso wie das SQLen. Ich muß halt nur auch Datensätze ändern können.
Es würde schon helfen, wenn ich einen bestimmten Dastensatz löschen könnte - und anschließend dann wieder neu anlegen. Geht das wohl irgendwie?
Vielen Dank nochmals,
und viele Grüße,
Holg

Anzeige
AW: Daten in einer Access Datebank aus Excel herau
13.09.2007 14:27:35
Gert
Hallo Hol,
damit für die Zukunft eine Basis geschaffen werden kann, solltet Ihr auf "Open-Office"
umsteigen.
"Open Office" ist ein sog. "Open Source-Programm" unter "Star-Basic" wird programmiert.
Enthält die Module : Writer ; Calc ; Draw; Impress und Base.
Die Module Writer & Calc sind ab der Version 2.0 MS-Word & Excel_Kompatibel. Der Wermuts-
tropfen ist das VBA_Basic nicht kompiliert wird.
Die Datenbank "Base" kann mit verschiedenen "SQL-Programmen" betrieben werden, es ist
ebenso möglich kleinere Datenbanken selbst zu erstellen.
Draw ist ein Modul zum zeichnen. Impress ein "Präsentationsprogramm".
Aber auch "Open Office" benötigt seine Einarbeitungszeit genauso wie "MS-Office",
kostet allerdings nur "Internet-Zeit".
Weitere Hilfe findest Du hier :
http://www.ooodev.org/
mfg
Gert

Anzeige
AW: Daten in einer Access Datebank aus Excel herau
14.09.2007 14:18:00
Holg
Hallo Gert,
vielen Dank. Leider arbeite ich in einem ausländischen Unternehmen mit sehr eigen(williger) IT Struktur. Ich muß mit dem leben, was da ist. Sämtliche Versuche, hier etwas mehr Flexibilität zu bekommen, sind gescheitert. Aber mit der Zeit gewöhnt man sich daran... geht eh nicht anders.
Ein schönes Wochenende,
und nochmals: Danke!
Holg

AW: Daten in einer Access Datebank aus Excel heraus up
14.09.2007 12:02:30
Luschi
Hallo Holg (oder doch Holger),
wenn ich mich nicht ganz täusche, hast Du die selbe Frage vor nicht allzulanger Zeit schon mal gestellt.
Damals hatte ich meine Mitarbeit angeboten, aber zur Voraussetzung gemacht, daß Du von der Access- und Excel-Datei je eine Demo-Datei erstellst und auf den Herber-Server speicherst und die Download-Adresse hier bekannt gibst. Mein Angebot steht noch immer.
Aber ein Nachbau Deines Problems ist in solchem Falle mit viel Zeit verbunden. In den Demo-Dateien müssen nur wenige Datensätze stehen und die Daten selbst können so verändert sein, daß sie mit dem Original nichts mehr zu tun haben. Aber der Tabellenaufbau und die Verknüfungen zwischen den Tabellen müssen stimmen, sonnst sind meine Bemühungen ohne Erfolg.
Es geht um die Tabellenspalten mit dem dazugehörigen Datentyp und dem Primärschlüssel (engl. PrimaryKey=PK).
Wenn Du die Daten nach Excel holst, veränderst , neue Datensätze hinzufügst und wieder zurückschreiben willst, dann spielt der PK die entscheidende Rolle, ob .AddNew oder .Edit aufgerufen wird.
Und bei .AddNew muß der PK ja erst noch erzeugt werden, sollte in der Access-DB nicht automatisch eingestellt sein. Deshalb sind die Demodateien so wichtig; da man dies alle beachten und erkennen muß.
Wenn Du wirklich Office XP hast, dann kann Excel per ADODB auf die Access-Daten zugreifen, ohne daß an der Access-Datei irgend etwas umgeändert werden muß. Der gesamte Vba-Code steht in der Excel-Datei .
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Daten in einer Access Datebank aus Excel herau
14.09.2007 14:15:17
Holg
Hallo Luschi,
1000dank für Deinen Support! Ich kämpfe mit dieser Problematik erst seit dieser Woche, die andere Anfrage muß von einem anderen Holg(er) stammen ;-))
Ich habe eine Demoversion meiner Excel Datei erstellt. Sie enthält das original Eingabe- und Änderungsformular. Ist aber so nicht komplett lauffähig weil ich die ganzen Verknüpfungen etc. heraus genommen habe. Die Datei findest Du hier:
https://www.herber.de/bbs/user/46033.xls
Leider kann ich die entsprechende mdb nicht hochladen da diese Endung nicht akzeptiert wird. Die Struktur der Datei entspricht 100% der des Excelbeispiels. "Case #" ist der PK.
Bei der Neuanlage eines Records wird dieser PK automatisch generiert. Beim Zurückschreiben könnte ich also den in der mdb verbliebenen Record löschen und neu einstellen (kein Index Konflikt) oder - eleganter - den vorhanden Datensatz updaten. Nur wie?
Ich plane, sämtlichen Code unter Excel auszuführen und die mdb nur für Speicherzwecke zu verwenden. Meine Excel Version ist Excel 2000 (9.0.8961 SP-3) UK version.
Ich hoffe, diese Angaben reichen Dir um meine Problematik zu verstehen.
Nochmals vielen Dank, und viele Grüße aus Bremen,
Holg(er)

Anzeige
AW: Daten in einer Access Datebank aus Excel herau
14.09.2007 14:24:00
Luschi
Hallo Holger,
die Access-Datei mußt Du Packen in's ZIP-Format.
Dieser Dateityp wird akzeptiert.
Komme aber erst Morgen dazu, mir Dein Problem anzuschauen
Gruß von Luschi
aus klein-Paris

AW: Daten in einer Access Datebank aus Excel herau
14.09.2007 15:54:42
Holg
Clever!
Daran hätte ich natürlich auch denken können ;-)
Die Dateien sind jetzt hier:
https://www.herber.de/bbs/user/46038.zip
Danke,
und viele Grüße!
Holg

AW: Daten in einer Access Datebank aus Excel herau
15.09.2007 23:12:26
Luschi
Hallo Holger,
habe mich erst mal mit dem Excel-Formular beschäftigt:
- Einlesen der Daten von der Excel-Tabelle ins Formular
- Zurückschreiben der Daten vom Formular in die Excel-Tabelle
- vorwärts und rückwärts gehen im Formular
- neuen Datensatz anlegen
Die Tabelle "Data" hat 1 Blattschutz (Kennwort: for_eyes_only). Somit kann der User nur per Formular
die Daten ändern. Bei allen geänderten Datensätzen wird die 1. Zelle mit blauer Schrift dargestellt.
Das ist dann die Kennung, welche Datensätze müssen in die Access-DB zurückgeschrieben werden.
Dieser Teil fehlt noch, aber morgen (und übermorgen) ist ja auch noch ein Tag.
Wollte Dir aber doch schon mal 1 Zwischenergebnis zukommen lassen.
https://www.herber.de/bbs/user/46067.zip
Gruß von Luschi
aus klein-Paris
Anzeige

189 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige