Поле Microsoft Access Number с буквами

0

В настоящее время я создаю базу данных и столкнулся с проблемами с моими таблицами.

У меня есть tblCustomer который включает CustomerID который является autonumber с форматом Customer-001, однако у меня есть tblOrder для заказа клиента, и между ними существует одно-много отношений.
У меня есть orderID поле с autonumber с форматом Order-001. Проблема tblCustomer с tblCustomer customerID в этой таблице, его тип данных - это number но я использовал поиск, чтобы получить CustomerID от tblCustomer, чтобы добавить в таблицу Order. Из-за формата Customer-001 нем есть буквы, и из-за этого возникает ошибка из-за типов данных.

Теги:
ms-access

1 ответ

1

Если вы хотите, чтобы номер клиента выглядел следующим образом: "Customer- 001", вы все равно можете использовать числовое поле в базе данных и просто форматировать число, подобное этому для отображения.

В окне Access Immediate (открыть с помощью Ctrl-G):

?Format$(1, """Customer-""000")

дает выход

Customer- 001

В поле " Format "Customer-"000 поля Access вы заполните "Customer-"000.

Никогда не храните Customer-001 в БД и никогда не используйте Customer-001 для соединения или запроса. В столбцах Accessononumber Access есть тип Number/Long Integer.

Если вы хотите Customer-001, вы бы Customer-001

SELECT * FROM tblCustomer WHERE CustomerID = 1

А также

Dim id as Long
id = DLookup("CustomerID", "tblCustomer", "CustomerName='Miller'")

Допускается 1 (или другое Long значение) для id, независимо от того, как было задано свойство Format для этого столбца.

Т.е. формат (в отличие от типа столбца) не имеет значения, где клаузулы выполняются.

Вы должны вставить клиента в таблицу заказов, как это

INSERT INTO tblOrder (CustomerID, othercolumns)
VALUES (1, othervalues)

NOT VALUES ('1', othervalues) или VALUES ('Customer-001', othervalues)


Я сделал тест. Моя таблица выглядит так (Access 2002):
Изображение 174551

Вот как он выглядит в моем доступе 2002 перед тем, как ввести что-то:
Изображение 174551

При вводе CustomerID:
Изображение 174551

После ввода CustomerID в поле даты:
Изображение 174551

  • 0
    Спасибо за очень полезный ответ, похоже, что он будет работать, но я не уверен, как работать с окном, которое появляется, когда я нажимаю Ctrl-G. Я вставил это в ближайшую коробку внизу. Что мне делать после?
  • 0
    Введите ?Format$(1, """Customer-""000") и нажмите клавишу Enter . ? ... является синонимом для Debug.Print( ... )
Показать ещё 13 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню