Hi Leute,
bräuchte mal eure Unterstützung.
Ich möchte über eine AutoIt- GUI Daten in eine bestehende ACCESS Tabelle schreiben.
Wie geht das? Ich stehe im Moment voll auf´m Schlauch.
Danke!
Hi Leute,
bräuchte mal eure Unterstützung.
Ich möchte über eine AutoIt- GUI Daten in eine bestehende ACCESS Tabelle schreiben.
Wie geht das? Ich stehe im Moment voll auf´m Schlauch.
Danke!
Hier gibts ne UDF für Access.
Eine Funktion "_accessAddRecord()" ist auch drin... vielleichts hilft das ?
z.B.: Link
Edit: Knapp zu spät
Wow... danke für die schnellen Antworten.
Scheint genau das zu sein, was ich suche!
Leider bekomme ich einen Fehler:
C:\Programme\AutoIt3\Include\AccessConstants.au3 (473) : ==> The requested action with this object has failed.:
Local $oVersion = $objCheck.Version
Local $oVersion = $objCheck.Version^ ERROR
Die Access DB ist Passwort geschützt, kann es damit zu tun haben?
EDIT: MMhhh... glaube nicht dass es am PW liegt. Wenn ich die Access.au3 schon ausführen will kommt der gleiche Fehler.
Ich hab mir ne .mdb ausm web geangelt und folgendes ausprobiert:
[autoit]
#include <Access.au3>
ConsoleWrite (_accessListTables("C:\temp\access\Cheetah2LU.mdb"))
Das funktioniert... Ich hab windows7, aber kein Access drauf.
Um dein Problem nachzuvollziehen, bräuchte man wohl eine "böse" .mdb und evtl dein Script.
MMhhh... glaube nicht dass es am PW liegt. Wenn ich die Access.au3 schon ausführen will kommt der gleiche Fehler.
Dann leg Dir doch zum Test eine Dummy-DB mit einer Tabelle zum testen an !
Habe eine Test DB mit einer Tabelle (die 3 Felder hat) angelgt. Ohne PW oder sonstige Einstellungen.
Leider mit dem gleichen Fehler!
Habe dabei nur die beiden Zeilen von ohforf in ein Testscript gepackt.
Habe WinXP und Office 2000 Prof.
AutoIt 3.3.6.1 mit der SciTE Version vom 28.02.10
Ich habe den Test auch einmal durchgeführt. Auch WinXP & Office 2k. Gleiches Problem !
Scheinbar funktioniert die Methode "Version" des Access.Application-Objekts, welches in der AccessConstants.au3 genutzt wird, nicht.
Und bei denen welche keine Access-Installation haben, wird das Objekt schon nicht erzeugt, daher taucht kein Fehler auf und der Provider-String bleibt auf 'Standard'.
Als Workarround kann ich Dir folgendes anbieten. In der 'AccessConstants.au3' ganz am Ende in der Funktion '_adoProvider()' die zweite Zeile wie folgt abändern:
[autoit]Local $objCheck ;= ObjCreate("Access.application")
[/autoit]Meiner Meinung nach funktioniert das dann so lange man 'nur Windows' oder 'bis Office 2003' hat. Ab 'Office 2007' wird ein anderer ADO-Provider-String benötigt. Dies sollte die Funktion ja eigentlich auch machen. Nur eine universelle Lösung fällt mir zur Zeit auch nicht ein. Man müsste die Version der ODBC-Treiber ermitteln können !
Ganz vergessen zu antworten.
Danke für den Tipp, hat damals wie heute funktioniert.