автономные номера предназначены только для внутреннего использования (это означает, что вы разработчик приложения). Например, когда вы загружаете документ Word, ОС выдает местоположение сегмента памяти - вам, как пользователю слова, все равно.
То же самое относится и к автономным номерам. Они предназначены для разработчиков, чтобы создавать отношения между таблицами. они НЕ МОГУТ использоваться для таких вещей, как номера счетов и т. д. c.
Даже если вы перейдете к новой записи, начните печатать, запись еще не сохранена. Тем не менее, новый номер будет выдан. Если пользователь нажимает клавишу ES C или edit-> un, чтобы НЕ сохранять запись, то автоматический номер не будет сохранен - но теперь у вас есть пробел в автомобильных номерах. Таким образом, если пользователь решает не сохранять запись, но начинает вводить эту запись, выдается (и используется) автоматический номер. Однако, если вы не сохраните эту запись, и пользователь решит не добавлять (сохранить) запись, вы обнаружите пробел.
В результате попытка использовать авто нецелесообразна. номера таким образом. Вы найдете то же самое для Oracle, SQL сервера и подавляющего большинства систем баз данных. Простая и суть в том, что такие цифры для вас разработчик, чтобы создать и настроить отношения. У них НОЛЬ имеет отношение к таким вещам, как номера счетов и т. Д. c.
Автоматические номера предназначены для отношений. Тот факт, что вы хотите, чтобы клиенты сообщали счета-фактуры, имеет НОЛЬ и НИЧЕГО не имеет отношения к тому, что у вас есть номер счета или нет. Почему целое приложение ломается и ваши отношения перестают работать, потому что у вас нет глупого номера счета? Номер счета-фактуры имеет НУЛЕВОЙ НУЛЬ, который связан с внутренним автоматическим номером. Вы могли бы сделать номера счетов необходимыми, но с другой стороны, я работал с некоторыми системами в том, что информация счета вводится, и до тех пор, пока счет не будет утвержден или фактически отправлен, номер счета будет пустым до тех пор, пока он не будет утвержден или отправлен вне. Независимо от некоторых бизнес-правил, и даже если требуется номер счета-фактуры, он не имеет ничего общего с автоматическими номерами и установленными отношениями. Такие отношения будут работать с номером счета или без него.
Ответ таков: вы не можете и не должны использовать автоматические номера в Access для внешнего значения. Просто не существует практического способа контролировать следующий номер, а также контролировать пропуски. Хуже того, маловероятно, что такие номера счетов-фактур начнутся с 1. И многие компании используют систему, в которой каждый счет-фактура, отправляемый данному клиенту, НЕ пользуется, например, количеством счетов, выставленных с момента последнего (это может привести к раздаче). ценная информация для ваших клиентов).
Если вам нужно увеличить номер счета? Затем вы, разработчик, должны построить и настроить систему на основе ваших требований.
Итак, я думаю, что это требование - нечто большее, чем просто число, начинающееся с 1, затем 2, затем 3 и c , И вы ОЧЕНЬ хотите, чтобы в вашем приложении была возможность установить следующий или начальный номер счета-фактуры.
Существует так много способов сделать это, как и вкусы мороженого. Однако типичным и распространенным подходом является настройка небольшой таблицы.
Итак, создайте таблицу с именем tblNextInvoice.
Она будет выглядеть следующим образом: tblNextInvoice ID: autonumber PK - вам нужен один из них для всех таблиц. NextInvoice: длинное целое число. - это ваша следующая таблица номеров счетов.
В этой таблице будет ОДНА строка. В приведенной выше таблице просто введите в NextInvoice следующий номер счета, с которого нужно начинать номера счетов.
Теперь в событии до обновления вашей формы:
if isnull(me!InvoiceNumber) = True then
' about to save record - set the invoice number
me!InvoiceNumber = GetNextInvoiceNum()
End if
И вам нужно создать функцию publi c (размещенную в стандартном модуле кода, а не в модуле кода форм. Она может выглядеть следующим образом:
Public Function NextInvoice() as long
Dim myRST As Dao.Recordset
set myRST = Currentdb.OpenRecordSet("tblNextInvoice")
NextInovice = myRST!NextInvoiceNum
myRST.Edit
myRST!NextInvoiceNum = myRST!NextInoiceNum + 1
myRST.Update
myRST.Close
End Function
Итак, если вы хотите убедиться, что пробелы отсутствуют установить начало, и вы хотите контролировать создание номера счета-фактуры? Тогда вы, как разработчик, должны настроить, создать и разработать свою систему нумерации счетов-фактур. Поскольку система настроена индивидуально, вы можете включить, например, 01152020-00012 типы форматов (таким образом, у этого номера образца есть месяц, дата + порядковый номер. Возможно, вы даже встретитесь с сотрудниками бухгалтерии по вопросам проектирования и разработки относительно того, какого рода формат и даже правительственные нормативы требуются для вашей системы нумерации счетов-фактур. Таким образом, для получения следующего счета-фактуры не нужно ограничиваться просто числом - вы можете включить некоторые строковые значения и изменить эту функцию (и номер счета-фактуры) на столбец типа текста в отличие от просто числового типа столбца.
Например, у меня есть какое-то программное обеспечение для групп добровольцев и некоторых церковных групп - из-за их некоммерческого статуса в настоящее время действуют некоторые правительственные постановления, такие как к формату выставленного счета-фактуры. Это особенно актуально в случае номеров выданных квитанций.
Когда выписаны квитанции, в квитанции должен быть указан не только новый номер квитанции, но и ТАКЖЕ, что выданная квитанция замена для квитанции XXXX должна быть четко обозначена (это необходимо для того, чтобы кто-то не просил 2-го получения пожертвования и не сдавал его дважды для вычета двойного налога. Итак, теперь вам даже не разрешено выдавать квитанцию с одним и тем же номером два раза донору! (они должны показывать новый номер и ТАКЖЕ номер, который он заменяет).
Таким образом, независимо от этих проблем, почти во всех бизнес-системах ВАМ разработчику потребуется полный контроль над тем, как эти числа будут выпущен - и вы не можете оставить этот вопрос на волю случая, а также не можете оставить этот вопрос на авто номера. Эти типы чисел предназначены для бизнес-правил и бизнес-операций - они не имеют ничего общего с использованием автоматических номеров для установки некоторых отношений в базе данных - и отношения на 100% отличаются от понятий бизнес-вещей, таких как номера счетов или номера квитанций и т. Д. c.