none
Acc2003: Suchen- und Ersetzen-Dialog anpassen / einstellen

    Frage

  • Hallo Forum,

    ich verwende in vielen Forms den Access-Standard-Dialog "Suchen und Ersetzen".

    Wie kann ich erreichen, dass im Auswahlfeld "Vergleichen" immer die Einstellung "Teil des Feldinhaltes" vorausgewählt ist.

    Evtl. individuelle Einstellung bei Ausführen der Funktion oder generelle Einstellung für Access.

    Generiertes Coding (durch Access):

    Private Sub Befehl6_Click()
    On Error GoTo Err_Befehl6_Click


        Screen.PreviousControl.SetFocus
        DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70

    Exit_Befehl6_Click:
        Exit Sub

    Err_Befehl6_Click:
        MsgBox Err.Description
        Resume Exit_Befehl6_Click
       
    End Sub

    Besten Dank vorab.

    Ciao, Alberto

    Donnerstag, 31. März 2011 14:54

Antworten

  • Hallo Alberta

    Alberto Luca wrote:

    Wie kann ich erreichen, dass im Auswahlfeld "Vergleichen" immer die
    Einstellung "Teil des Feldinhaltes" vorausgewählt ist.

    Evtl. individuelle Einstellung bei Ausführen der Funktion oder generelle
    Einstellung für Access.

    Generiertes Coding (durch Access):

    Private Sub Befehl6_Click()
    On Error GoTo Err_Befehl6_Click


    Screen.PreviousControl.SetFocus
    DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70

    zuerst einmal: Du solltest hier besser den eigentlichen Command verwenden, nicht das, was Dir da Access erzeugt.
    Für den Find/Replace Dialog wäre dies:

    DoCmd.RunCommand acCmdFind
     Wie Du vielleicht bereits schon bemerkt hast, merkt sich Access die Einstellung, wenn man diese verändert, bis Access geschlossen und wieder geöffnet wird. Beim ersten Öffnen des Find/Replace Dialoges holt sich Access die Standard-Einstellungen von dort ab, wo diese als im Options Dialog eingestellt wurden. Diese können also voreingestellt werden, z.B. beim Öffnen von Access oder auch unmittelbar vor (jedem) öffnen des Find/Replace Dialoges. Diese Standard Einstellungen werden allerdings nur beim ersten öffnen des Find/Replace Dialoges eingelesen und können daher nicht (ohne Pfui-Sendkeys) später verändert werden.
    Achtung: Pfui-Sendkeys wird in neueren Access Versionen nicht mehr laufen. Du müsstest dann auf API Calls zurückgreifen.

    Der Befehl zum Einstellen der Standard Option lautet:

    Application.SetOption "Default find/replace behavior", 1

    Der letzte Parameter (1) kann 0, 1 oder 2 sein:
    0: Fast search: Gesamter Feldinhalt
    1: General search: Teil des Feldinhaltes
    2: Start of field search: Beginn des Feldes

    Falls Du kein Start Formular hast und auch kein Autoexec Makro, in dem Du diese Option beim Start von Access einstellen kannst, kannst Du wie erwähnt, das auch vor dem jedem Öffnen des Dialoges machen. Das sieht dann so aus

    Application.SetOption "Default find/replace behavior", 1
    Screen.PreviousControl.SetFocus
    DoCmd.RunCommand acCmdFind

    Gruss
    Henry

    Mittwoch, 6. April 2011 10:10

Alle Antworten

  • Hallo Alberto,

    Alberto Luca schrieb folgendes:

    ich verwende in vielen Forms den Access-Standard-Dialog "Suchen und
    Ersetzen".

    Wie kann ich erreichen, dass im Auswahlfeld "Vergleichen" immer die
    Einstellung "Teil des Feldinhaltes" vorausgewählt ist.

    Wenn, dann IMO nur über SendKeys. Davon würde ich aber abraten und
    ggf. ein eigenes Suchformular bauen, welches Deinen Anforderungen
    entspricht.

    Gruß
    Gunter


    Access FAQ: http://www.donkarl.com

          http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de

    Donnerstag, 31. März 2011 16:11
    Moderator
  • Hallo Gunter,

    herzlichen Dank für Deine Rückmeldung.

    Ich bin soweit fündig geworden, dass ich die generelle Einstellung zum ansteuern des Auswahlfeldes gefunden habe.

    => Extras.Optionen: Bearbeiten/Suchen

    Diese Einstellung zieht anscheinend bei Access-Start und sorgt für die Vorauswahl in diesem Dialog.

    Dies ist für meine Bedürfnisse durchaus ausreichend.

    Ciao, Alberto

    Freitag, 1. April 2011 05:13
  • Hallo Alberta

    Alberto Luca wrote:

    Wie kann ich erreichen, dass im Auswahlfeld "Vergleichen" immer die
    Einstellung "Teil des Feldinhaltes" vorausgewählt ist.

    Evtl. individuelle Einstellung bei Ausführen der Funktion oder generelle
    Einstellung für Access.

    Generiertes Coding (durch Access):

    Private Sub Befehl6_Click()
    On Error GoTo Err_Befehl6_Click


    Screen.PreviousControl.SetFocus
    DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70

    zuerst einmal: Du solltest hier besser den eigentlichen Command verwenden, nicht das, was Dir da Access erzeugt.
    Für den Find/Replace Dialog wäre dies:

    DoCmd.RunCommand acCmdFind
     Wie Du vielleicht bereits schon bemerkt hast, merkt sich Access die Einstellung, wenn man diese verändert, bis Access geschlossen und wieder geöffnet wird. Beim ersten Öffnen des Find/Replace Dialoges holt sich Access die Standard-Einstellungen von dort ab, wo diese als im Options Dialog eingestellt wurden. Diese können also voreingestellt werden, z.B. beim Öffnen von Access oder auch unmittelbar vor (jedem) öffnen des Find/Replace Dialoges. Diese Standard Einstellungen werden allerdings nur beim ersten öffnen des Find/Replace Dialoges eingelesen und können daher nicht (ohne Pfui-Sendkeys) später verändert werden.
    Achtung: Pfui-Sendkeys wird in neueren Access Versionen nicht mehr laufen. Du müsstest dann auf API Calls zurückgreifen.

    Der Befehl zum Einstellen der Standard Option lautet:

    Application.SetOption "Default find/replace behavior", 1

    Der letzte Parameter (1) kann 0, 1 oder 2 sein:
    0: Fast search: Gesamter Feldinhalt
    1: General search: Teil des Feldinhaltes
    2: Start of field search: Beginn des Feldes

    Falls Du kein Start Formular hast und auch kein Autoexec Makro, in dem Du diese Option beim Start von Access einstellen kannst, kannst Du wie erwähnt, das auch vor dem jedem Öffnen des Dialoges machen. Das sieht dann so aus

    Application.SetOption "Default find/replace behavior", 1
    Screen.PreviousControl.SetFocus
    DoCmd.RunCommand acCmdFind

    Gruss
    Henry

    Mittwoch, 6. April 2011 10:10