mgas400
Goto Top

Löschabfrage MS Access als Task ausführen

Hallo zusammen,

ist es möglich eine Lösch- bzw. Hinzufügeabfrage in MS ACCESS 2010 per Task auszuführen?

Hintergrund ist das durch die Abfragen per ODBC Schnittstelle Dateien auf unserer IBM AS400 akutalisiert werden. --> Automatisiert wäre schöner als täglich einen Button drücken zu müssen.

Danke im Voraus


Grüße
MAXAS400

Content-ID: 311113

Url: https://administrator.de/forum/loeschabfrage-ms-access-als-task-ausfuehren-311113.html

Ausgedruckt am: 18.04.2025 um 22:04 Uhr

Kraemer
Kraemer 28.07.2016 um 12:45:14 Uhr
Goto Top
Moin,

Kombination aus Windows' geplante Aufgaben und dem hier sollte helfen.

Gruß Krämer
129813
129813 28.07.2016 aktualisiert um 12:55:16 Uhr
Goto Top
Or a bit of Powershell or VBS
Powershell Version:
$conn = New-Object -Com 'ADODB.Connection'  
$conn.Open('Provider=Microsoft.ACE.OLEDB.12.0;Data Source = C:\Database1.accdb')  
$conn.Execute("Insert Into TableXYZ (COL1,COL2) VALUES ('VALUE1','VALUE2')")  
$conn.Close()
You can do it via the access db or directly via ADO without using the access db. That's your choice face-smile

Regards
Kraemer
Kraemer 28.07.2016 um 12:57:56 Uhr
Goto Top
Zitat von @129813:
> $conn = New-Object -Com 'ADODB.Connection'  
> $conn.Open('Provider=Microsoft.ACE.OLEDB.12.0;Data Source = C:\Database1.accdb')  
> $conn.Execute("Insert Into TableXYZ (COL1,COL2) VALUES ('VALUE1','VALUE2')")  
> $conn.Close()
> 
Wenn das wirklich funktioniert, ist das eine richtig schöne Lösung. Muss ich heute Abend mal testen.
129813
Lösung 129813 28.07.2016 aktualisiert um 13:11:38 Uhr
Goto Top
Zitat von @Kraemer:
Wenn das wirklich funktioniert, ist das eine richtig schöne Lösung. Muss ich heute Abend mal testen.
It does.
Important: Be sure to execute this with the x86 version of powershell if the OLEDB driver is installed only in x86 version (default)!! Or execute it via start-job with the parameter -RunAs32
Start-job -ScriptBlock {."C:\Folder\access_script.ps1"} -RunAs32  
Or wrap it directly inside the script
Start-Job -RunAs32 -ScriptBlock {
    $conn = New-Object -Com 'ADODB.Connection'  
    $conn.Open('Provider=Microsoft.ACE.OLEDB.12.0;Data Source = C:\Database1.accdb')  
    $conn.Execute("Insert Into TableXYZ (COL1,COL2) VALUES ('VALUE1','VALUE2')")  
    $conn.Close()
} | Receive-Job -Wait