Sign in with Microsoft
New to Microsoft? Create an account.

Umiarkowany: wymaga podstawowych makro, kodowania i interoperacyjności umiejętności.Ten artykuł dotyczy bazy danych programu Microsoft Access (. mdb) i projektu programu Microsoft Access (. adp).

W TYM ZADANIU

Podsumowanie

W tym artykule pokazano, jak uzyskać rok obrachunkowy lub miesiąc obrachunkowy określonej daty za pomocą wyrażenia lub funkcji zdefiniowanej przez użytkownika.

Korzystanie z wyrażenia w celu uzyskania roku obrachunkowego lub miesiąca Obrachunkowego

Uwaga: Ta sekcja dotyczy tylko bazy danych programu Microsoft Access (. mdb). Aby uzyskać rok obrachunkowy lub miesiąc obrachunkowy określonej daty za pomocą wyrażenia, wykonaj następujące kroki:

  1. Otwórz przykładową bazę danych Northwind. mdb.

  2. Utwórz następującą nową kwerendę na podstawie Orders tabeli. Uwaga: w następujących przykładowych wyrażeniach podkreślenie (_) na końcu wiersza jest używane jako znak kontynuacji wiersza. Usuń podkreślenie od końca wiersza podczas ponownego tworzenia tych przykładowych wyrażeń. Query: GetFiscalDates ------------------------------------------------------------------- Field: OrderDate Table: Orders Criteria: DatePart("yyyy",[OrderDate])=1997 Field: FYear: Year([OrderDate])-IIf([OrderDate]< _ DateSerial(Year([OrderDate]),6,16),1,0) Field: FMonth: (Month([OrderDate])+IIf(Day([OrderDate])<16,6,7)-1) _ Mod 12+1

  3. Uruchom kwerendę, a następnie przewiń arkusz danych kwerendy. Należy zauważyć, że rok obrachunkowy i miesiąc obrachunkowy są wyświetlane dla każdego rekordu w tabeli zamówienia.

W bazie danych można używać wyrażeń FYear i FMonth, modyfikując pole Date, dzień i miesiąc, na odpowiednie wartości dla danego roku obrachunkowego. Na przykład, jeśli rok obrachunkowy rozpoczyna się w dniu 9/15 bieżącego roku kalendarzowego, można zmodyfikować poprzednie wyrażenia w następujący sposób: Field: FYear: Year([FieldName])-IIf([FieldName]< _ DateSerial(Year([FieldName]),9,15),1,0) Field: FMonth: (Month([FieldName])+IIf(Day([FieldName])<15,9,10)-1) _ Mod 12+1 Jeśli rok obrachunkowy rozpoczyna się w dniu 9/15 poprzedniego roku kalendarzowego, można zmodyfikować wyrażenie FYear w następujący sposób: Field: FYear: Year([FieldName])-IIf([FieldName]< _ DateSerial(Year([FieldName]),9,15),1,0)+1

Korzystanie z przykładowych funkcji w celu uzyskania roku obrachunkowego lub miesiąca Obrachunkowego

Uwaga: Ta sekcja dotyczy bazy danych programu Microsoft Access (. mdb) i projektu programu Microsoft Access (. adp). Firma Microsoft podaje przykłady programowania tylko na ilustracji, bez gwarancji wyrażonej lub dorozumianej. Obejmuje to, ale nie ogranicza się do, dorozumianych gwarancji przydatności handlowej lub przydatności do określonego celu. W tym artykule założono, że znasz języka programowania, który jest demonstrowany i narzędzia, które są używane do tworzenia i debugowania procedur. Inżynierowie pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu funkcjonalności konkretnej procedury, ale nie będą modyfikować tych przykładów, aby zapewnić dodatkowe funkcje lub konstruować procedury spełniające określone wymagania. Aby uzyskać rok obrachunkowy lub miesiąc obrachunkowy określonej daty za pomocą funkcji zdefiniowanych przez użytkownika, wykonaj następujące kroki:

  1. Utwórz moduł i wpisz następujące wiersze w sekcji deklaracje:

    Option ExplicitConst FMonthStart = 6   ' Numeric value representing the first month                        ' of the fiscal year.Const FDayStart = 16    ' Numeric value representing the first day of                        ' the fiscal year.Const FYearOffset = -1  ' 0 means the fiscal year starts in the                        ' current calendar year.                        ' -1 means the fiscal year starts in the                        ' previous calendar year.
  2. Wpisz następujące dwie procedury:

    Function GetFiscalYear(ByVal x As Variant)   If x < DateSerial(Year(x), FMonthStart, FDayStart) Then      GetFiscalYear = Year(x) - FYearOffset - 1   Else      GetFiscalYear = Year(x) - FYearOffset   End IfEnd Function
    Function GetFiscalMonth(ByVal x As Variant)   Dim m   m = Month(x) - FMonthStart + 1   If Day(x) < FDayStart Then m = m - 1   If m < 1 Then m = m + 12   GetFiscalMonth = mEnd Function
  3. Aby przetestować te funkcje, wpisz każdy z następujących wierszy w Immediate okna, a następnie naciśnij ENTER po każdym z nich:

    ?GetFiscalYear(#7/1/1999#)

    Zwróć uwagę, że ta linia zwraca rok 2000.

    ?GetFiscalMonth(#8/1/1999#)

    Zwróć uwagę, że ta linia zwraca liczbę 2. 2 reprezentuje drugi miesiąc w roku obrachunkowym.

Informacje

Aby uzyskać więcej informacji na temat funkcji DateSerial, kliknij polecenie Microsoft Access — Pomoc w menu Pomoc , wpisz przykłady funkcji DateSerial, dzień, miesiąc i rok w Asystencie pakietu Office lub Kreatorze odpowiedzi, a następnie kliknij przycisk Wyszukaj , aby wyświetlić temat.

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×