2016-07-28 5 views
1

Я хочу просмотреть записи в таблице, чтобы увидеть, сколько уже содержит юлианскую дату сегодняшнего дня. Я хочу, чтобы это был подстановочный поиск, потому что мои номера проектов будут в этом формате «16-2101». Юлианская дата находится посередине (210).Использование VBA в доступе, как использовать Dcount для подсчета количества записей, содержащих эту формулу - DatePart («y», Now)?

Мой код:

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 

Если бы я был ввести фактическую дату юлианского (210) в месте «DayOfYear» код работает. Это не нравится ссылка, и я не знаю, как обойти ее.

ответ

1

Попробуйте

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

, которая преобразует VBA dayOfYear в строку (с использованием CStr), затем вставляет полученную строку в запросе (& ... &).

+0

Так просто. Я думал, что попробовал обернуть его вокруг CStr() раньше, и это не сработало, но на этот раз. Спасибо! –