Za pomocą akcji makra UstawWartość można ustawić wartość pole programu Access, kontrolka lub właściwość na formularz, formularzu arkusz danych lub raport.
Uwaga: Akcji makra SetValue (UstawWartość ) nie można użyć do ustawiania wartości właściwości programu Access zwracającej obiekt.
Uwaga: Ta akcja nie będzie dozwolona, jeśli baza danych nie jest zaufana.
Ustawienie
Akcja makra SetValue (UstawWartości ) ma następujące argumenty.
Argument akcji |
Opis |
Element |
Nazwa pola, kontrolki lub właściwości, której wartość chcesz ustawić. Wprowadź pole, kontrolkę lub nazwę właściwości w polu Element w sekcji Argumenty akcji w oknie projektu makra. Do tego elementu należy użyć pełnej składni, na przykład nazwy kontrolki (kontrolki w formularzu lub raporcie, z której wywołano makro ) lub formularzy. nazwa_formularza! nazwa_kontrolki. Jest to argument wymagany. |
Expression |
wyrażenie program Access ustawia wartość dla tego elementu. Aby odwołać się do wszystkich obiektów w wyrażeniu, należy zawsze użyć pełnej składni. Aby na przykład zwiększyć wartość kontrolki Wynagrodzenie w formularzu Pracownicy o 10 procent, należy użyć Forms!Employees!Salary*1.1. Jest to argument wymagany. Uwaga: Nie należy używać znaku równości (=) przed wyrażeniem w tym arguście. W takim przypadku program Access oceni wyrażenie, a następnie użyje tej wartości jako wyrażenia w tym arguście. Może to spowodować nieoczekiwane wyniki, jeśli wyrażenie jest ciągiem. Jeśli na przykład wpiszesz dla tego argumentu ciąg ="String1 ", program Access najpierw oceni wyrażenie jako Ciąg1. Następnie używa ciągu1 jako wyrażenia w tym argumentzie, spodziewając się znaleźć kontrolkę lub właściwość o nazwie String1 w formularzu lub raporcie, który nazwał makro. |
Uwaga: W bazie danych programu Access (.mdb lub accdb) kliknij przycisk Konstruuj , aby utworzyć wyrażenie dla któregokolwiek z tych argumentów za pomocą Konstruktora wyrażeń.
Uwagi
Za pomocą tej akcji można ustawić wartość pola lub kontrolki w formularzu, arkuszu danych formularza lub raporcie. Możesz również ustawić wartość dla prawie wszystkich właściwości kontrolek, formularzy i raportów w dowolnym widoku. Aby dowiedzieć się, czy określoną właściwość można ustawić przy użyciu makra i w jakich widokach można ją ustawić, zobacz temat Pomocy dla tej właściwości w Edytorze Visual Basic.
Możesz również ustawić wartość pola w tabeli źródłowej formularza, nawet jeśli formularz nie zawiera kontrolki powiązanej z polem. Użyj formularzy składni! nazwa_formularza! nazwa_pola w polu Element , aby ustawić wartość dla takiego pola. Do pola w tabeli źródłowej raportu można także odwoływać się przy użyciu funkcji Raporty składni. nazwa_raportu! nazwa_pola, ale w raporcie musi istnieć kontrolka powiązana z tym polem lub pole musi być określone w kontrolka obliczeniowa w raporcie.
Jeśli ustawisz wartość kontrolki w formularzu, akcja makra UstawWartość nie wyzwala reguł poprawności kontrolki na poziomie formularza, ale wyzwala reguły poprawności pola źródłowego na poziomie tabeli, jeśli kontrolka jest kontrolką powiązaną. Akcja makra SetValue również wyzwala ponowne obliczanie, ale ponowne obliczenie może nie nastąpić natychmiast. Aby wywołać natychmiastowe ponowne przemalowanie i wymusić ponowne obliczenie do końca, użyj akcji makra RepaintObject . Wartość ustawiona w kontrolce przy użyciu akcji makra SetValue nie ma wpływu na maska wprowadzania ustawioną we właściwości InputMask kontrolki lub pola źródłowego.
Aby zmienić wartość kontrolki, możesz użyć akcji UstawWartość w makrze określonym przez właściwość zdarzenia AfterUpdate kontrolki. Nie można jednak użyć akcji SetValue (UstawWartość ) w makrze określonym przez właściwość zdarzenia BeforeUpdate kontrolki w celu zmiany wartości kontrolki (chociaż możesz użyć akcji SetValue (UstawWartość ) w celu zmiany wartości innych kontrolek. Możesz również użyć akcji SetValue (UstawWartość ) w makrze określonym przez właściwość BeforeUpdate lub AfterUpdate formularza, aby zmienić wartość dowolnych kontrolek w bieżącym rekordzie.
Uwaga: Za pomocą akcji makra UstawWartość nie można ustawić wartości następujących kontrolek:
-
Kontrolki powiązane i kontrolki obliczeniowe w raportach.
-
Kontrolki obliczeniowe w formularzach.
Porady
Za pomocą akcji makra UstawWartości można ukryć lub wyświetlić formularz w widoku formularza. Wprowadź formularze!nazwa_formularza. Widoczne w polu Element i Nie lub Tak w polu Wyrażenie . Ustawienie właściwości Widoczny formularza modalność na Wartość Nie powoduje ukrycie formularza i sprawia, że jest on niemodny. Ustawienie właściwości tak powoduje wyświetlenie formularza i ponowne zmodyfikowanie go.
Zmiana wartości lub dodanie nowych danych w kontrolce przy użyciu akcji SetValue (UstawWartość ) w makrze nie powoduje wyzwolenia zdarzeń, takich jak BeforeUpdate, BeforeInsert lub Change występujących po zmianie lub wprowadzeniu danych w tych kontrolkach w interfejsie użytkownika. Te zdarzenia nie występują również w przypadku ustawienia wartości kontrolki przy użyciu modułu Visual Basic for Applications (VBA).
Ta akcja nie jest dostępna w module VBA. Ustaw wartość bezpośrednio w języku VBA.
Przykład
Ustawianie wartości kontrolki przy użyciu makra
Poniższe makro powoduje otwarcie formularza Dodaj produkty z poziomu przycisku w formularzu Dostawcy. Pokazuje ono użycie akcji makr Echo, Close, OpenForm, SetValue i GoToControl . Akcja SetValue (SetValue ) ustawia w formularzu Products kontrolę SupplierID (IdentyfikatorDostawcy) na bieżącego dostawcę w formularzu Dostawcy. Akcja GoToControl przenosi fokus do pola CategoryID, gdzie można rozpocząć wprowadzanie danych dla nowego produktu. To makro powinno zostać dołączone do przycisku Dodaj produkty w formularzu Dostawcy.
Akcja |
Argumenty: ustawienie |
Komentarz |
Echo |
Echo włączone: Nie |
Zatrzymaj aktualizowanie ekranu, gdy makro jest uruchomione. |
Zamknij |
Typ obiektu: Formularz Nazwa obiektu: Lista produktów Zapisz: Nie |
Zamknij formularz Lista produktów. |
OtwórzFormularz |
Nazwa formularza: Produkty Widok: Formularz Tryb danych: Dodaj Tryb okna: Normalny |
Otwórz formularz Produkty. |
Setvalue |
Element: [Formularze]! [Produkty]! [ID_dostawcy] Wyrażenie: ID_dostawcy |
Ustaw kontrolki ID_dostawcy dla bieżącego dostawcy w formularzu Dostawcy. |
PrzejdźDoKontrolki |
Nazwa kontrolki: Identyfikator kategorii |
Przejdź do kontrolki CategoryID. |