Я хочу создать фиксированный алфавит плюс случайное число таблица в Access.Microsoft Access
Пример:
Q116-001
Q116-002
Q116
добавляется пользователем, и мне нужно 001
, 002
, чтобы быть сгенерирован программой.
Как я мог достичь этого?
Я хочу создать фиксированный алфавит плюс случайное число таблица в Access.Microsoft Access
Пример:
Q116-001
Q116-002
Q116
добавляется пользователем, и мне нужно 001
, 002
, чтобы быть сгенерирован программой.
Как я мог достичь этого?
Это то, что я бы сделал ... На уровне таблицы есть student_code
, который отличается от Student_ID
(Первичный ключ/Автономный номер). student_code
может быть string
и не требует дубликатов.
На уровне формы:
Dim DB As Database
Dim RS As Recordset
Dim var2 As String
Dim var1 As String
Dim var3 As String
var1 = Left(Me.Student_code, 2) 'this will be the Q106 that the user inputs
var2 = "SELECT count(*) AS CountStudent " & _
"FROM Students " & _
"WHERE left(Suppliers.[Student_code],2)='" & var1 & "';"
Set DB = CurrentDb
Set RS = DB.OpenRecordset(var2, dbOpenDynaset)
var3 = RS!CountSupplier + 1
Me.Student_Code = UCase(var1) & Format(var3, "000")
Это может быть сделано на форме, может быть, на lose_focus
так они печатают в первой части, а затем, когда они отодвигаться код проверяет таблицу и добавляет следующий номер , Но пользователь может не обязательно помнить часть Q106
, поэтому вам нужно убедиться, что это контролируется, может быть?
Я только что обработал это по-другому. Он работает сейчас. Я думаю, ваше предложение тоже работает – Lozan
Добро пожаловать в SO, пожалуйста, добавьте то, что вы попытались до сих пор – gitsitgo
Я просто пытаюсь использовать другой вариант, но не работает. Например, «Student_ID» должен генерировать только 7 символов, включая один алфавит, такой как Q116-001, Q216-002, ..., Q117-001, Q217-002, – Lozan
Вы хотите сделать это на уровне формы? – LiamH