Создать запись в форме доступа на основе записи, выбранной из поля со списком (без включения записи из поля со списком) - PullRequest
0 голосов
/ 07 февраля 2020

Я использую Access для ведения списка (с подробностями) дел, над которыми я работаю (я юрист). Я хочу, чтобы Access добавлял уникальный идентификатор для каждого случая. Я использую форму для ввода данных в базу данных.

Я написал этот очень простой код, чтобы добавить идентификатор дела №:

Private Sub Command81_Click()
If Not IsNull(Me.Case_ID) Then
DoCmd.CancelEvent
Else
Command81.Enabled = True
Me.Case_ID = Me.Combo321 + Format(Me.[Date Original Event], "yymmdd") + Format(Time, "hhmmss")
End If
End Sub

Идея состоит в том, что я заполняю различные поля в формы, а затем нажмите кнопку, чтобы добавить идентификатор дела (указанный в текстовом поле (в форме) и поле (в базе данных) с именем «Case_ID»).

Когда я нажимаю кнопку, она должна проверить, есть ли это уже идентификатор дела. Если он есть, он не создаст новый. Если его нет, будет создан новый идентификатор дела в зависимости от страны, в которой он произошел (Combo321) + дата, когда произошло исходное событие + время создания идентификатора дела.

Страна, в которой произошло дело выбирается из выпадающего меню (Combo321). Параметры в раскрывающемся меню взяты из таблицы со списком стран:

Нидерланды, Великобритания, Германия и др. c.

Если возможно, я хочу сохранить список (полные) названия стран в раскрывающемся меню, но в случае с идентификатором дела используйте сокращение из 2 или 3 символов. Поэтому, если я выберу в раскрывающемся меню случай, произошедший в Нидерландах, я бы хотел, чтобы дело № начиналось с NL, если дело произошло в Соединенном Королевстве, я хотел бы, чтобы дело N начиналось с Великобритании и т. Д. c.

Возможно ли в таблице с названиями стран сделать второй столбец с сокращениями, а затем как-то в коде, чтобы идентификатор дела начинался с записи во втором столбце, которая "принадлежит" соответствующему запись в первом столбце (полное название страны), которую я выбрал из выпадающего меню?

Или, может быть, есть другой способ сделать это?

1 Ответ

0 голосов
/ 07 февраля 2020

Да, создать поле в таблице. Затем введите это поле в поле со списком RowSource (поле со списком из нескольких столбцов). Свойства комбинированного списка:

RowSource: SELECT CountryCode, Country FROM Countries;
ColumnCount: 2
ColumnWidths: 0 "; 1,0"
BoundColumn: 1
ControlSource: поле для сохранения выбранного значения комбинированного списка

Двухбуквенный CountryCode будет сохранен в записи, если поле со списком привязано к полю. Он также будет использоваться вашим кодом.

Сохранение данных, зависящих от других данных, обычно не является необходимым и часто является плохой идеей. Этот идентификатор может быть создан выражением, когда это необходимо для отображения.

Кроме того, рекомендуется выработать привычку использовать nn в течение нескольких минут вместо mm. На самом деле, это не имеет значения в функции Format (), но я видел ее использование там, где она есть, хотя не могу вспомнить точные обстоятельства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...