Thursday, December 8, 2022

SetValue-Makroaktion – Microsoft Support

Sie können die SetValue -Makroaktion verwenden, um den Wert eines Access-Felds, -Steuerelements oder einer -Eigenschaft in einem Formular, einem Formulardatenblatt oder einem Bericht festzulegen.

Hinweis: Sie können die SetValue -Makroaktion nicht verwenden, um den Wert einer Access-Eigenschaft festzulegen, die ein Objekt zurückgibt.

Hinweis: Diese Aktion ist nicht zulässig, wenn die Datenbank nicht vertrauenswürdig ist.

Einstellung

Die SetValue -Makroaktion hat die folgenden Argumente.

Handlungsargument

Beschreibung

Artikel

Der Name des Felds, Steuerelements oder der Eigenschaft, deren Wert Sie festlegen möchten. Geben Sie den Namen des Felds, des Steuerelements oder der Eigenschaft in das Feld „Element" im Abschnitt „ Aktionsargumente " des Makroentwurfsfensters ein. Sie müssen die vollständige Syntax verwenden, um auf dieses Element zu verweisen, z. B. Steuerelementname (für ein Steuerelement in dem Formular oder Bericht, von dem aus das Makro aufgerufen wurde) oder Forms ! Formularname ! Steuername . Dies ist ein erforderliches Argument.

Ausdruck

Der Ausdruck, den Access verwendet, um den Wert für dieses Element festzulegen. Sie müssen immer die vollständige Syntax verwenden, um auf Objekte im Ausdruck zu verweisen. Um beispielsweise den Wert in einem Gehaltssteuerelement in einem Mitarbeiterformular um 10 Prozent zu erhöhen, verwenden Sie Forms!Employees!Salary*1.1 . Dies ist ein erforderliches Argument.

Hinweis: Sie sollten kein Gleichheitszeichen ( = ) vor dem Ausdruck in diesem Argument verwenden. Wenn Sie dies tun, wertet Access den Ausdruck aus und verwendet diesen Wert dann als Ausdruck in diesem Argument. Dies kann zu unerwarteten Ergebnissen führen, wenn der Ausdruck eine Zeichenfolge ist.

Wenn Sie beispielsweise ="String1" für dieses Argument eingeben, wertet Access den Ausdruck zuerst als String1 aus. Dann verwendet es String1 als Ausdruck in diesem Argument und erwartet, ein Steuerelement oder eine Eigenschaft namens String1 in dem Formular oder Bericht zu finden, das das Makro aufgerufen hat.

Hinweis: Klicken Sie in einer Access-Datenbank (.mdb oder .accdb ) auf die Schaltfläche Erstellen, um mit dem Ausdrucks-Generator einen Ausdruck für eines dieser Argumente zu erstellen.

Bemerkungen

Sie können diese Aktion verwenden, um einen Wert für ein Feld oder Steuerelement in einem Formular, einem Formulardatenblatt oder einem Bericht festzulegen. Sie können auch den Wert für fast alle Steuerelement-, Formular- und Berichtseigenschaften in jeder Ansicht festlegen. Um herauszufinden, ob eine bestimmte Eigenschaft mithilfe eines Makros festgelegt werden kann und in welchen Ansichten sie festgelegt werden kann, lesen Sie das Hilfethema für diese Eigenschaft im Visual Basic-Editor.

Sie können den Wert für ein Feld auch in der zugrunde liegenden Tabelle eines Formulars festlegen, selbst wenn das Formular kein an das Feld gebundenes Steuerelement enthält. Verwenden Sie die Syntax Forms ! Formularname ! fieldname im Feld Item , um den Wert für ein solches Feld festzulegen. Sie können auch auf ein Feld in der zugrunde liegenden Tabelle eines Berichts verweisen, indem Sie die Syntax Berichte ! Berichtsname ! Feldname , aber es muss ein Steuerelement im Bericht an dieses Feld gebunden sein, oder auf das Feld muss in einem berechneten Steuerelement im Bericht verwiesen werden.

Wenn Sie den Wert eines Steuerelements in einem Formular festlegen, löst die SetValue -Makroaktion nicht die Validierungsregeln auf Formularebene des Steuerelements aus, löst jedoch die Validierungsregeln auf Tabellenebene des zugrunde liegenden Felds aus, wenn das Steuerelement ein gebundenes Steuerelement ist. Die Makroaktion SetValue löst ebenfalls eine Neuberechnung aus, aber die Neuberechnung erfolgt möglicherweise nicht sofort. Verwenden Sie die Makroaktion RepaintObject , um ein sofortiges Neuzeichnen auszulösen und die Neuberechnung bis zum Abschluss zu erzwingen. Der Wert, den Sie in einem Steuerelement mithilfe der SetValue -Makroaktion festlegen, wird auch nicht von einer Eingabemaske beeinflusst, die in der InputMask -Eigenschaft des Steuerelements oder des zugrunde liegenden Felds festgelegt ist.

Um den Wert eines Steuerelements zu ändern, können Sie die SetValue- Aktion in einem Makro verwenden, das von der AfterUpdate -Ereigniseigenschaft des Steuerelements angegeben wird. Sie können die SetValue- Aktion jedoch nicht in einem Makro verwenden, das durch die BeforeUpdate -Ereigniseigenschaft eines Steuerelements angegeben wird, um den Wert des Steuerelements zu ändern (obwohl Sie die SetValue- Aktion verwenden können, um den Wert anderer Steuerelemente zu ändern). Sie können die SetValue- Aktion auch in einem Makro verwenden, das durch die BeforeUpdate- oder AfterUpdate- Eigenschaft eines Formulars angegeben wird, um den Wert aller Steuerelemente im aktuellen Datensatz zu ändern.

Hinweis: Sie können die SetValue -Makroaktion nicht verwenden, um den Wert der folgenden Steuerelemente festzulegen:

  • Gebundene Kontrollen und berechnete Kontrollen in Berichten.

  • Berechnete Steuerelemente auf Formularen.

Tipps

Sie können die SetValue-Makroaktion verwenden, um ein Formular in der Formularansicht auszublenden oder anzuzeigen. Geben Sie Forms !formname .Visible in das Feld Item und No oder Yes in das Feld Expression ein. Das Festlegen der Visible-Eigenschaft eines modalen Formulars auf Nein blendet das Formular aus und macht es moduslos. Wenn Sie die Eigenschaft auf Ja setzen, wird das Formular angezeigt und wieder modal.

Das Ändern des Werts oder das Hinzufügen neuer Daten in einem Steuerelement mithilfe der SetValue -Aktion in einem Makro löst keine Ereignisse wie BeforeUpdate , BeforeInsert oder Change aus, die auftreten, wenn Sie Daten in diesen Steuerelementen in der Benutzeroberfläche ändern oder eingeben. Diese Ereignisse treten auch nicht auf, wenn Sie den Wert des Steuerelements mithilfe eines Visual Basic for Applications (VBA)-Moduls festlegen.

Diese Aktion ist in einem VBA-Modul nicht verfügbar. Stellen Sie den Wert direkt in VBA ein.

Beispiel

Legen Sie den Wert eines Steuerelements mithilfe eines Makros fest

Das folgende Makro öffnet das Formular Produkte hinzufügen über eine Schaltfläche im Formular Lieferanten. Es zeigt die Verwendung der Makroaktionen Echo , Close , OpenForm , SetValue und GoToControl . Die SetValue- Aktion legt das SupplierID-Steuerelement im Formular „Products" auf den aktuellen Lieferanten im Formular „Suppliers" fest. Die GoToControl- Aktion verschiebt den Fokus dann auf das CategoryID-Feld, wo Sie mit der Eingabe von Daten für das neue Produkt beginnen können. Dieses Makro sollte an die Schaltfläche „Produkte hinzufügen" im Formular „Lieferanten" angehängt werden.

Aktion

Argumente: Einstellung

Kommentar

Echo

Echo ein : Nein

Beenden Sie die Bildschirmaktualisierung, während das Makro ausgeführt wird.

Nah dran

Objekttyp : Formular

Objektname : Produktliste

Sparen : Nein

Schließen Sie das Produktlistenformular.

OpenForm

Formularname : Produkte

Ansicht : Formular

Datenmodus : Hinzufügen

Fenstermodus : Normal

Öffnen Sie das Formular Produkte.

SetValue

Artikel : [Formulare]![Produkte]![SupplierID]

Ausdruck : Lieferanten-ID

Setzen Sie das SupplierID-Steuerelement auf den aktuellen Lieferanten im Formular Lieferanten.

GoToControl

Steuerungsname : CategoryID

Wechseln Sie zum CategoryID-Steuerelement.

No comments:

Post a Comment