1

テーブル内のレコードを調べて、今日のユリウス日が既に含まれているレコードがいくつあるかを確認したいと考えています。プロジェクト番号は「16-2101」の形式になるため、ワイルドカード検索にしたいと考えています。ユリウス日は真ん中 (210) です。

私のコードは次のとおりです。

Private Sub AddProjectNum_Click()

    TwoDigitYear = Mid$(CStr(DatePart("yyyy", Now)), 3, 2)
    dayOfyear = DatePart("y", Now)
    CountofProjectsToday = DCount("[ProjectNumber]", "Table1", "[ProjectNumber] Like '*dayOfyear*'")

    If CountofProjectsToday = 0 Then
        Me.ProjectNum.Value = TwoDigitYear & "-" & dayOfyear & 1
    Else
        Me.ProjectNum.Value = TwoDigitYear & "-" & dayOfyear & CountofProjectsToday + 1
    End If

End Sub

「dayOfyear」の代わりに実際のユリウス日 (210) を入力すると、コードが機能します。参照が気に入らず、回避する方法がわかりません。

4

1 に答える 1

1

試す

CountofProjectsToday = DCount("[ProjectNumber]", "Table1", "[ProjectNumber] Like '*" & CStr(dayOfyear) & "*'")
'                                                                                  ^^^^^^^^^^^^^^^^^^^^^^^

これにより、VBAdayOfYearが文字列に変換され ( を使用CStr)、結果の文字列がクエリに貼り付けられます ( & ... &)。

于 2016-07-28T18:03:38.030 に答える