Was bisher geschah:
- Die Tabellen einer MS-Access-Anwendung sind zu groß geworden für die Jet-Engine. DB2 ist die Wahl der Stunde für die Datenhaltung als skalierbare, performante und vertrauenswürdige Basis.
- Tabellendefinitionen und Daten lassen sich manuell oder per VBA-Routine nach DB2 transportieren.
- Auch die Anlage von Indizes und Schlüssel in der Zieldatenbank kann automatisiert werden.
Es bleibt die Aufgabe, die DB2-Tabellen an die Anwendung anzubinden. Dies geht unter Access natürlich nach rechtem Mausklick unter Tabellen mit "Tabellen verknüpfen ..." für jede einzelne Tabelle. Bei vielen Tabellen gerät das zu einer gesundheitsgefährdenden Klickerei. Aber auch hier lässt sich der Prozess wie folgt automatisieren
Für jede Tabelle, die ich vorher mit Haut und Haaren nach DB2 portiert habe, führe ich per VBA folgende Schritte durch:
' ursprüngliche Tabelle löschen
db.TableDefs.Delete TabName
' neue Definition anlegen
Set tdef = db.CreateTableDef(Tabname)
tdef.Name = TabName
' ODBC-Verbindung zur DB2-Datenbank
tdef.Connect = "ODBC;DATABASE=...;DSN=..."
' Name zu verknüpfenden DB2-Tabelle
tdef.SourceTableName = DB2TableName
' scharf schalten ...
db.TableDefs.append tdef
Der gewissenhafte Entwickler sollte nun mit dem Test beginnen.