Кодовая комбинация в Microsoft Access (формат yyxxxx) - PullRequest
0 голосов
/ 09 марта 2020

Я борюсь с частью кода, которую я хочу реализовать в Microsoft Access.

Необходимый код используется для присвоения проекта. Формат кода содержит 2 последние цифры года + 4 цифры, которые складываются до нового года, затем последние 2 цифры года складываются с 1, а 4 цифры начинаются с 1. Например:

2019: 190001 = первая задача; 190002 = вторая задача; et c ...

2020: 200001 = первая задача; 200002 = вторая задача; et c ...

Может кто-нибудь помочь мне, как кодировать это в Microsoft Access, предпочтительно VBA? Таким образом, я могу присвоить код кнопке «Отправить», чтобы избежать схожих чисел.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 09 марта 2020

Возможно, вам нужно присвоить следующий идентификатор задачи для проекта.

Итак, найдите последний используемый идентификатор и добавьте 1, чтобы получить следующий идентификатор задачи:

NextTaskId = (Year(Date()) \ 100) * 10000 + Nz(DMax("TaskId", "ProjectTable", "TaskId \ 10000 = Year(Date()) \ 100"), 0) Mod 10000 + 1

Nz гарантирует, что идентификатору задачи также может быть назначена самая первая задача года.

0 голосов
/ 09 марта 2020

Форматирование вашего кода с учетом целого числа может быть достигнуто несколькими способами, вот один из возможных методов:

Function ProjectCode(ByVal n As Long) As Long
    ProjectCode = CLng(Format(Date, "yy") & Format(n, "0000"))
End Function
?ProjectCode(1)
 200001 
?ProjectCode(2)
 200002 
?ProjectCode(100)
 200100 
...