Flori Geschrieben 22. Februar 2005 Teilen Geschrieben 22. Februar 2005 Hallo zusammen, nachdem ich mich bislang mit den "Basics" von Access beschäftigt hatte, komme ich nun mehr und mehr in den Bereich des "mächtigen VBA". Doch da will es noch nicht so recht klappen. Daher wäre es schön, wenn mir jemand Hilfestellung geben könnte! Folgendes Problem: Habe eine Access-DB als FrontEnd mit einer dahinter liegenden Informix-DB als BackEnd, die durch den passenden Informix-ODBC-Treiber verknüpft sind. Im Bereich "verknüpfte Tabellen" mit Formularen klappt alles 1-A!!! Nur nach einer Weile bricht die Verbindung ab ("time out"). Das möchte ich mit einem Zeitgeber umgehen, der ein Update auf eine Tabelle in der Informix-DB macht. Aber wie verbinde ich mit in VBA-Code mit der Datenbank über ODBC? Habe schon ein paar Dinge probiert mit "odbcConnectStr" und "OpenDatabase", "OpenRecordset", "Execute" und "RunSQL", bin aber leider noch nicht zu dem gewünschten Erfolg gekommen....vielleicht hat jemand ein Beispiel für mich. Das hilft mir oft, um letztes Verständnisprobleme ausräumen zu können.... Im Net habe ich leider bislang auch kein Tutorial für eine ODBC-Verbindung in VBA für verknüpfte Tabellen gefunden. Wäre echt super, wenn jemand helfen könnte!!!! Tausend Dank im Voraus!! Grüße Flori Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 22. Februar 2005 Teilen Geschrieben 22. Februar 2005 Aber wie verbinde ich mit in VBA-Code mit der Datenbank über ODBC? Die mußt du von Hand vernküpfen. Du erstellst eine DSN unter Systemsteuerung - Verwaltung - Datenquellen. Dann einfach im Access unter Datei - Externe Daten - Tabellen verknüpfen. Unten ODBC-Datenquellen auswählen und die DSN auswählen. Du kannst dann wie auf lokale Tabellen zugreifen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Flori Geschrieben 22. Februar 2005 Autor Teilen Geschrieben 22. Februar 2005 Hallo Wolle, japp, genau das hab ich schon gemacht. Hab inzwischen mal alles rausgeschmissen aus dem Code was für den Durchblick erstmal störte. Demnach wird dieser Insert problem-und anstandslos ausgeführt und die Daten finden sich in meiner Informix-DB (ist schon mal nen Fortschritt ): Private Sub Form_Timer() DoCmd.RunSQL ("Insert into informix_up values('abc');") End Sub [/PHP] Hingegen bei der folgenden Prozedur bekomme ich die Fehlermeldung: Laufzeitfehler '3073' Operation muß eine aktualisierbare Abfrage verwenden. Ausgeführter Code: [PHP] Private Sub Form_Timer() DoCmd.RunSQL ("Update informix_up set dat='def' where dat='abc';") End Sub Woran mag es liegen, daß das Update nicht durchführbar ist? Fehlende Keys in der Tabelle oder sowas? :confused: Was ist gemeint mit "eine aktualisierbare Abfrage verwenden" ? @Wolle, aber schon mal wieder Danke für Deine so prompte Antwort! Grüße Flori Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Flori Geschrieben 22. Februar 2005 Autor Teilen Geschrieben 22. Februar 2005 Woran mag es liegen, daß das Update nicht durchführbar ist? Fehlende Keys in der Tabelle oder sowas? :confused: Was ist gemeint mit "eine aktualisierbare Abfrage verwenden" ? Alle klar! Es schien tatsächlich daran zu liegen, daß meine Spalte "dat" keinen primary key hatte. Nun funzt das Ganze ohne Probleme! Denk wohl in Sachen VBA noch zu kompliziert für den Anfang... Vielleicht hätte ich auch mal eher posten sollen, dann wär der Groschen vielleicht auch früher gefallen...*g* Naja, schon wieder was gelernt...auf zur nächsten Aufgabe...und evtl. auch zur nächsten Frage... In diesem Sinne, nochmal Danke und bis bald! Flo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.