2011-01-13 4 views
2

Ich habe ein VB-Skript, das von AccPac ausgeführt wird. Ich möchte dem Skript eine Fehlerprotokollierung hinzufügen. Ich würde gerne dieses Protokoll in eine Datenbank gehen lassen. Ich habe gehört, dass es unmöglich ist, eine Verbindung zu einer SQL-Datenbank aus dem VB-Skript herzustellen. Ich möchte diese Unmöglichkeit falsch beweisen.Schreiben in eine SQL-Datenbank in accpac

Also meine Frage ist das.
Hat jemand SQL über ein accpac vbscript zu einer sqlserver Datenbank laufen lassen? Wenn ja, könnten sie mir einen Hinweis geben, wie sie solch eine "unmögliche" Aufgabe erfüllt haben?

+1

Haben Sie versucht, ein 'ADODB.Connection'-Objekt zu verwenden? –

+0

Das Objekt kann nicht erstellt werden. – baash05

+0

Ich bekomme "benutzerdefinierten Typ nicht definiert" – baash05

Antwort

1

Accpac verwendet tatsächlich VBA und nicht VBScript (obwohl die Syntax fast identisch ist). Ich habe viele VBA-Makros in Accpac gemacht, die SQL-Datenbanken für viel komplexere Aufgaben als nur Protokollierung verwenden. Der Vorgang ist der gleiche wie bei MS Office-Dateien mit VBA-Makros. Sie müssen "Microsoft ActiveX Data Objects 2.8 Library" oder ähnliches als Referenz über "Extras> Referenzen" hinzufügen. Sie haben dann ein ADODB Objekt, das Sie verwenden können, um eine Verbindung über ODBC herzustellen.

Schauen Sie sich diese Frage auf die gleiche Sache im Zusammenhang mit Excel Accessing SQL Database in Excel-VBA

Bitte beachten Sie, dass ab Accpac 6, Sage bewegt sich weg vom Desktop-Client und VBA-Makros nicht funktionieren mit dem Portal.

0

In neueren Sage 300 (Accpac) Versionen gibt es eine Ansicht mit Roto "CS0120". Es kann Ihnen helfen, SQL-Abfragen direkt in der Datenbank auszuführen (Einfügen/Auswählen/Aktualisieren). Öffnen Sie es einfach als reguläre Ansicht in Ihrem VB-Code, setzen Sie Ihre Abfragezeichenfolge als Filter durchsuchen und rufen Sie Fetch auf.