Guten Tag,
hätte mal wieder eine Frage zu Tabellen in Access 2013.
Suche eine Möglichkeit zur Prüfung und Anpassung des Tabelleninhaltes beim "einlesen" einer Exceltabelle in eine bereits vorhandene Tabelle in AC 2013.
Aktueller Prozess:
Jeden Monat werden 12 Tabellen aus Excel 2013 aus in eine Tabelle in eine Tabelle in AC 2013 übernommen. Derzeit werden die Tabellen extra durch Mitarbeiter eingelesen und geprüft, dannach via Abfrage mit der Stammdatei werden alle Änderungen ausgelesen und angepasst. Da die Stammdatei mit anderen Formularen, Abfragen und Tabellen verbunden ist, ist es nicht möglich jeden Monat eine neue Datei mit seinen Verknüpfungen zu erstellen.
Mein Vorhaben / Wunsch:
Ist es möglich die neuen Tabellen gleich in die Stammtabelle einzufügen und AC 2013 nimmt automatisch die Anpassungen vor?
Soll heißen:
Spalte A in beiden Tabellen trägt immer den gleichen Wert, dieser ist fest definiert und darf durch keinen Mitarbeiter geändert werden. Erfolgt ein neuer Eintrag muss dieser Wert genauen Regeln folgen.
Heißt z. B. die Filiale in Bayern hat den Code BY1234J. Gibt es in Bayern eine neue Filiale so wird diese definiert mit z.B. BY5678B.
Alle Spalten die dann danach kommen sind felxibel, müssen aber auch bestimmten Vorgaben entsprechen, welche aber in den anderen Tabellen der DB definiert und verknüpft sind.
Jetzt meine Frage:
Ist es möglich die Tabelle aus Excel 2013 in die Stammtabelle in AC 2013 einfliessen zu lassen und falls Änderungen in den Spalten hinter der Masterspalte (Bspl. BY1234J) sind, diese automatisch anzupassen oder sollte es den Eintrag überhaupt noch nicht geben, diesen dann als neuen Datensatz anzulegen?
Als Bspl.: Erste Spalte trägt den Mastercode BY1234J, in Splate zwei stand bisher Al (Alu), neu muss da aber jetzt Al²(SO4)³ stehen.
Dies soll AC 2013 nun anpassen.
Ist das möglich?
Danke für die Hilfe!
MfG
Hallo,
sicher ist das möglich (und unabhängig von einer Access-Version)....
Prinzip:
-- zunächst mittels Insert-SQL alle neuen Filialen(Codes) in die Tabelle anfügen.
-- Über eine Abfrage die (verlinkte) Excel-Tabelle mit der Access-Tabelle 1:1 verknüpfen.
--In einer Funktion diese Abfrage als Recordset öffnen und alle Felder anhand der Vorgaben datensatzweise vergleichen und korrigieren.
Zitat von: DF6GL am Februar 08, 2015, 14:02:50
Hallo DF6GL,
danke für die Antwort.
Mit den ersten beiden Anstrichen komme ich klar, bei dem dritten stehe ich auf dem Schlauch. Hier fehlt mir eindeutig das Wissen.
Kannst du mir bitte erklären wie ich den Recordset aufbauen muss?
Schreibe ich den in VBA oder in der Abfrage in SQL?
Danke und
mfG
sicher ist das möglich (und unabhängig von einer Access-Version)....
Prinzip:
-- zunächst mittels Insert-SQL alle neuen Filialen(Codes) in die Tabelle anfügen.
-- Über eine Abfrage die (verlinkte) Excel-Tabelle mit der Access-Tabelle 1:1 verknüpfen.
--In einer Funktion diese Abfrage als Recordset öffnen und alle Felder anhand der Vorgaben datensatzweise vergleichen und korrigieren.
Zitat von: DF6GL am Februar 08, 2015, 14:02:50
Hallo,
sicher ist das möglich (und unabhängig von einer Access-Version)....
Prinzip:
-- zunächst mittels Insert-SQL alle neuen Filialen(Codes) in die Tabelle anfügen.
-- Über eine Abfrage die (verlinkte) Excel-Tabelle mit der Access-Tabelle 1:1 verknüpfen.
--In einer Funktion diese Abfrage als Recordset öffnen und alle Felder anhand der Vorgaben datensatzweise vergleichen und korrigieren.
Hallo,
Deine Frage erzwingt den Ratschlag, sich mit VBA auseinander zu setzen....
Ein Recordset ist eine Datenzugriffs-Methode , um mittels einer Abfrage (SQL-String)Daten aus einer Tabelle auszulesen und mit VBA bearbeitbar zu machen.