Freigeben über


SetValue-Makroaktion

Gilt für: Access 2013, Office 2013

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

Hinweis

  • Sie können die Aktion SetzenWert nicht verwenden, um den Wert einer Access-Eigenschaft festzulegen, die ein Objekt zurückgibt.
  • Diese Aktion ist nicht zulässig, wenn die Datenbank nicht vertrauenswürdig ist.

Einstellung

Die Aktion SetzenWert kann mit den folgenden Argumenten verwendet werden.

Aktionsargument

Beschreibung

Item

Der Name des Felds, Steuerelements oder der Eigenschaft, dessen Wert Sie festlegen möchten. Geben Sie im Bereich Makro-Generator im Abschnitt Aktionsargumente den Feld-, Steuerelement- oder Eigenschaftsnamen in das Feld Element ein. Sie müssen die vollständige Syntax verwenden, um auf dieses Element zu verweisen, z. B. controlname (für ein Steuerelement auf dem Formular oder Bericht, aus dem das Makro aufgerufen wurde) oder Forms! formname! controlname. 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 eines der Objekte im Ausdruck zu verweisen. Verwenden Sie z. B. Forms!Employees!Salary*1.1, um den Wert im Steuerelement für "Gehalt" um 10 Prozent zu erhöhen, das sich auf einem Mitarbeiterformular befindet. Dies ist ein erforderliches Argument.

HINWEIS: Verwenden Sie kein Gleichheitszeichen (=) vor dem Ausdruck in diesem Argument. Access wertet ansonsten den Ausdruck aus und verwendet diesen Wert als Ausdruck in diesem Argument. Dies kann zu unerwarteten Ergebnissen führen, wenn der Ausdruck eine Zeichenfolge ist.

Wenn Sie beispielsweise ="Zeichenfolge1" für dieses Argument eingeben, wertet Access zuerst den Ausdruck als Zeichenfolge1. Dann wird "Zeichenfolge1" als Ausdruck in diesem Argument verwendet, wobei erwartet wird, dass ein Steuerelement oder eine Eigenschaft namens "Zeichenfolge1" auf dem Formular oder im Bericht gefunden wird, über das/den das Makro aufgerufen wurde.

Hinweis

Klicken Sie in einer Access-Datenbank (MDB oder ACCDB) auf die Schaltfläche Erstellen, um den Ausdrucks-Generator zum Erstellen eines Ausdrucks für eines dieser Argumente zu verwenden.

Hinweise

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 außerdem den Wert für nahezu alle Steuerelement-, Formular- und Berichtseigenschaften in jeder Ansicht festlegen. Informationen dazu, ob eine bestimmte Eigenschaft mit einem Makro und in welchen Ansichten die Eigenschaft festgelegt werden kann, finden Sie im Hilfethema für die jeweilige Eigenschaft im Visual Basic-Editor.

Sie können auch den Wert für ein Feld in der Tabelle festlegen, die einem Formular zugrunde liegt, auch wenn das Formular kein Steuerelement enthält, das mit dem Feld verbunden ist. Verwenden Sie die Syntax Forms! formname! fieldname im Feld Element , 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! reportname! fieldname, aber es muss ein Steuerelement für den Bericht vorhanden sein, der an dieses Feld gebunden ist, 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 Aktion SetzenWert nicht die Gültigkeitsprüfungsregeln auf Formularebene des Steuerelements, sondern die Gültigkeitsprüfungsregeln auf Tabellenebene des zugrunde liegendenen Felds aus, wenn das Steuerelement ein gebundenes Steuerelement ist. Die Aktion SetzenWert löst außerdem eine Neuberechnung aus, die aber nicht unbedingt sofort erfolgt. Um eine sofortige Aktualisierung auszulösen und den Abschluss der Neuberechnung zu erzwingen, verwenden Sie die Aktion AktualisierenObjekt. Der Wert, den Sie in einem Steuerelement mithilfe der Aktion SetzenWert festlegen, wird außerdem nicht vom Eingabeformat beeinflusst, das in der Eigenschaft InputMask des Steuerelements oder zugrunde liegenden Felds festgelegt ist.

Um den Wert eines Steuerelements zu ändern, können Sie die Aktion SetzenWert Aktion in einem Makro verwenden, das durch die Ereigniseigenschaft NachAktualisierung des Steuerelements angegeben ist. Sie können Aktion SetzenWert jedoch nicht in einem Makro verwenden, das durch die Ereigniseigenschaft VorAktualisierung eines Steuerelements angegeben ist, um den Wert des Steuerelements zu ändern (Sie können die Aktion SetzenWert aber zum Ändern des Werts anderer Steuerelemente verwenden). Sie können die Aktion SetzenWert außerdem in einem von der Eigenschaft VorAktualisieurng oder NachAktualisierung eines Formulars angegebenem Makro verwenden, um den Wert eines beliebigen Steuerelements im aktuellen Datensatz zu ändern.

Hinweis

Die Werte der folgenden Steuerelemente können nicht mit der Aktion SetzenWert festgelegt werden:

  • Gebundene Steuerelemente und berechnete Steuerelemente in Berichten
  • Berechnete Steuerelemente in Formularen

Tipp

Mithilfe der SetzenWert-Aktion können Sie ein Formular in der Formularansicht aus- oder einblenden. Formulare eingeben! formname**. Sichtbar** im Feld Element und Nein oder Ja im Feld Ausdruck. Wenn Sie die Eigenschaft Sichtbar eines modalen Formulars auf Nein festlegen, wird das Formular ausgeblendet und nicht modal. Wenn Sie die Eigenschaft auf Ja, wird das Formular eingeblendet und wieder modal.

Wenn Sie über die Aktion SetzenWert in einem Makro den Wert eines Steuerelements ändern oder neue Daten in einem Steuerelement hinzufügen, werden keine Ereignisse wie VorAktualisierung, VorEingabe oder Änderung ausgelöst, die auftreten, wenn Sie in diesen Steuerelementen in der Benutzeroberfläche Daten ändern oder Daten eingeben. Diese Ereignisse treten ebenfalls nicht auf, wenn Sie den Wert des Steuerelements mithilfe eines VBA-Moduls (Visual Basic for Applications) festlegen.

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

Beispiel

Festlegen des Werts eines Steuerelements mithilfe eines Makros

Das folgende Makro öffnet das Formular zum Hinzufügen von Produkten über eine Schaltfläche im Formular für Lieferanten. Es zeigt die Verwendung der Aktionen Echo, FensterSchließen, ÖffnenFormular, SetzenWert und GeheZuSteuerelement. Die Aktion SetzenWert legt das SupplierID-Steuerelement im Produktformular auf den aktuellen Lieferanten im Lieferantenformular fest. Die Aktion GeheZuSteuerelement verschiebt dann den Fokus auf das Feld „CategoryID“, in dem Sie beginnen können, Daten für das neue Produkt einzugeben. Dieses Makro sollte der Schaltfläche zum Hinzufügen von Produkten im Formular für Lieferanten zugeordnet werden.

Aktion

Argumente: Einstellung

Kommentar

Echo

Echo: Nein

Beenden der Bildschirmaktualisierung, während das Makro ausgeführt wird

FensterSchließen

Objekttyp: FormularObjektname: Produktliste Speichern: Nein

Schließen des Produktlistenformulars

OpenForm

Formularname: Produkte Ansicht: FormData-Modus: AddWindow-Modus: Normal

Öffnen des Produktformulars

SetzenWert

Item: [Forms]![Products]![SupplierID] Expression: SupplierID

Festlegen des SupplierID-Steuerelements auf den aktuellen Lieferanten im Formular für Lieferanten

GoToControl

Steuerelementname: KategorieID

Wechseln zum CategoryID-Steuerelement