Announcement

Collapse
No announcement yet.

Soundex in Access

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Soundex in Access

    Hallo,

    im MS-SQL-Server gibt es ja die SOUNDEX Funktion. Da meine Software aber Standalone auch mit Access laufen soll, bin ich gerade dabei mich einzulesen, wie ich das Soundex auch auf Access bringe.

    Ich habe jetzt den Weg gewählt, die Funktion in Delphi (oder C++) zu schreiben, eine DLL draus zu machen und diese dann in Access einzubinden.

    Wenn ich das jetzt direkt in Access mit der Datenbank teste, dann klappt das auch ganz hervorragend (DLL in Windows\system32).

    Nur wenn ich von meiner Software aus über ADO auf die Datenbank zugreife (ADO Komponenten Turbo C++ Builder 2006), kriege ich die Meldung, daß die Soundex-Funktion nicht bekannt ist. Offenbar wird dann die DLL nicht gefunden bzw. nicht aufgerufen.
    Ich habe die DLL jetzt schon in alle möglichen Pfade kopiert, aber sie wird nicht gefunden. Muß ich die Vorher bei ADO registrieren? Ich weiß es einfach nicht.

    Hat da jemand eine Lösung für mich?

    Ciao

    CodeGier

  • #2
    Hallo CodeGier,

    ist es eine AcitveX DLL (=> Verweis in Access setzen) oder eine Normale (sucht erst im Verzeichnis der MDB, dann in System32)?

    Wenn ich mich recht entsinne (kann es momentan auch nicht testen), must Du die DLL über eine VBA Public Function sozusagen "wrappen", damit sie nutzbar ist.

    Also z.B.

    Public Function mySoundEx(ByVal sValue as String) As String
    mySoundEx = SoundExDLL(sValue)
    End Function

    Und dann "mySoundEx" verwenden.
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Hi O. Helper,

      danke für Deine Antwort. Der Stand ist folgender:
      Es ist eine normale DLL. Sie liegt in System32 (auch Verzeichnis der MDB habe ich schon getestet). Die Wrapper sind vorhanden. Direkt unter ACCESS ist die Funktion auch nutzbar, nur von Außen nicht. D.H. ich greife über ADO darauf zu, setze einen SQL-Select ab und bekomme die Meldung daß "Soundex" nicht vorhanden ist.
      Der gleiche Select direkt in Access funktioniert.


      >> ist es eine AcitveX DLL (=> Verweis in Access setzen)
      Wo kann man in Access solche Verweise setzen?

      Ciao

      CodeGier

      Comment


      • #4
        Verweis setzen kannst Du, wenn im Code Editor bist, unter Menü "Extras" => "Verweise".

        Gehen den noch VBA Befehle wie CSTR in SQL über ADO?

        Habe ich schon lange nicht mehr gemacht, aber ich war der Meinung, das ging schon mal mit der Jet-Engine. Gut möglich, das MS das aus Sicherheitsgründen mittlerweile abgestellt hat.
        Olaf Helper

        <Blog> <Xing>
        * cogito ergo sum * errare humanum est * quote erat demonstrandum *
        Wenn ich denke, ist das ein Fehler und das beweise ich täglich

        Comment


        • #5
          Hallo Olaf,

          danke noch mal. CSTR lässt sich auch über ADO via SQL aufrufen. Funktionen in DLLs gehen aber scheinbar nicht.

          Dann werde ich wohl einen anderen Weg beschreiten müssen.

          Danke für Deine Hilfe

          CodeGier

          Comment

          Working...
          X