2009-05-25 17 views
0

Ich erwarte einen Verweis auf VBscript Regular Expressions 5.5, indem ich den Pfad c: \ windows \ system32 \ vbscript.dll \ 3 zu ms-access über Tools hinzufüge > Referenzen. Die Verzeichnisstruktur zeigt jedoch nur den vollständigen Pfad ohne die Endung "\ 3"ms-access import dll mit endung backslash im dll pfad

Was bedeutet "\ 3" (Versionsnummer?), Wie lautet der richtige Name? Wie füge ich diesen Verweis korrekt meinem Zugriffsprojekt hinzu? Vielen Dank.

Antwort

0

Noch besser wäre es, fügen Sie keinen Hinweis auf sie. Verwenden Sie stattdessen die späte Bindung. Das heißt, Sie Plain-Vanilla-Objektvariablen anstelle der RegExp Bibliothek Datentypen verwenden werden:

Dim objRegEx As Object 
    Set objRegEx = CreateObject("VBScript.Regexp") 

So brauchen Sie nicht über die Bibliothek-Version auf dem jeweiligen Computer installiert zu kümmern. Die Geschwindigkeitsdifferenz ist ziemlich vernachlässigbaren für einen Anruf zu ihm, aber wenn Sie es gehen regelmäßig zu verwenden, eine öffentliche Funktion wie folgt erstellen:

Public Function RegEx() As Object 
    Static objRegEx As Object 

    If objRegEx Is Nothing Then 
     Set objRegEx = CreateObject("VBScript.Regexp") 
    End If 
    Set RegEx = objRegEx 
    End Function 

Dann haben Sie nicht überhaupt etwas zu tun - Verwenden Sie RegExp genauso wie eine Variable, die auf das Objekt der obersten Ebene verweist. Dies wird automatisch initialisiert, wenn Sie es das erste Mal benutzen und bleibt dann bestehen, bis Sie die Anwendung schließen.

Wenn Sie besorgt sind über unten vor dem Schließen nach oben Reinigung, können Sie dies tun:

Public Function RegEx(Optional bolClose As Boolean = False) As Object 
    Static objRegEx As Object 

    If bolClose Then 
     Set objRegEx = Nothing 
     Exit Function 
    End If 
    If objRegEx Is Nothing Then 
     Set objRegEx = CreateObject("VBScript.Regexp") 
    End If 
    Set RegEx = objRegEx 
    End Function 

Und in Ihrer App Shutdown-Routine nennen es so:

Call RegEx(True) 

Und dein Onkel Bob!

+0

v. Elegant. Nett. Ich habe gesehen, beraten, spätes Binden als den besten Ansatz für den Zugriff immer wieder und weniger Kopfschmerzen. ta! – bizl

1

bizl,

The \ 3 ist ein Hering.

Um den Verweis zu Ihrem Access-Projekt hinzuzufügen, öffnen Sie ein beliebiges Codefenster, wählen Sie im Menü Extras die Option Verweise, blättern Sie zu dem unten dargestellten Eintrag und überprüfen Sie ihn.

Beachten Sie, dass der Speicherort \ 3 angibt, obwohl sich die DLL im System32-Verzeichnis befindet. Es hat etwas damit zu tun, wie Microsoft-Versionen Dinge.

alt text http://www.windowsdevcenter.com/windows/2004/11/09/graphics/wrdh_0903.gif

+0

Ich verwende MS-Access 97 und Microsoft VBScript Reguläre Ausdrücke 5.5. scheint nicht auf meiner Standard-Referenzliste – bizl

+0

bin ich fehlt eine DLL? – bizl

+0

vbscript.dll sollte in c: \ windows \ system32 sein. –