我有一个非常基本的数据库,只有一个主表和几个查找 - 没有关系。
主表中的自动编号字段几乎没有与其形式关联的代码,但我注意到每 10 条记录左右就会跳过一个数字。
我已经将数据库与用户锁定得非常紧密,因此他们没有删除权限,只能在创建后非常谨慎地修改记录。 他们无法删除错误的条目 - 他们必须勾选一个名为"已取消"的框才能从列表中删除该条目并重新开始。 - 删除记录的唯一方法是 SHIFT-OPEN, 打开表并从那里删除...我怀疑他们正在这样做,但一切皆有可能......
问题是这个 - 我已经看到许多关于类似问题的网络讨论,但解决方案通常指向一些代码或格式问题或 SQL/Access 问题......我没有这样的系统...它是一个直接的前端/后端数据库,使用本地网络上的链接表。 有人可以建议这是否只是一个访问的事情,只是忽略它,或者这是非常不寻常的,并且有人正在删除记录......如果有人正在删除记录 - 如果它尝试以编辑模式打开,有什么方法可以保护 PW?或者我可以保护桌子本身吗?
甚至更好 - 有没有办法我可以添加一些字段和代码,看看到底发生了什么? 无论是访问只是没有创建那个#还是有人在惹我? 谢谢
数据库自动编号的基本规则就是它们是内部编号 - 故事结束!我的意思是,当您加载word文档时,您是否关心使用的内存段号?自动编号用于设置表之间的关系。它们是一个"概念",如果桌子通过图片、丛林中的猿类吃香蕉或一些自动麻木序列联系起来,你不在乎。
但是,要回答您的问题,如果您跳转到新记录,然后开始键入,则该记录很脏。当然,用户可能会决定,嘿,我不想添加此记录。如果他们进行编辑>撤消,或点击 control-z 然后退出,则不会创建记录,也不会保存记录。但是,自动编号将递增。我的意思是,由于数据库是多用户的,那么一个用户开始工作,然后另一个用户 - 他们都将被分配一个自动编号 - 但两个用户都可能决定不保存。
自动号码不应该被赋予最终用户的意义,实际上它们永远不应该看起来是它们。用户永远不会看到记录或 Word 文档加载到的计算机内存段 - 他们不在乎。
内部索引和表如何布局以及它们如何工作是数据库引擎的唯一问题,与您或您的用户无关。
现在,您当然"知道"您的计算机具有内存,但您不会向最终用户公开使用的"内存"位置,因为此类内部内务管理数字就是内部内务管理数字。
除了用户点击撤消和保释记录添加外,一般删除记录也会产生空白。
如果您查找某种编号规则,请创建一个发票编号字段,或其他任何字段。虽然可能需要发票编号,但如果您使用内部自动编号,那么您的数据库设计可以正常工作,因为您没有一些社会保险号或一些愚蠢的发票编号。它们与你有什么关系,因为发展了桌子之间的建筑关系?(答案:绝对没有!!(
您的数据库在没有发票编号或其他数字的情况下运行良好这一事实与用于内务管理和维护关系的内部编号无关。
您在数据库中定义关系 - 这些关系与您的用户的想法,了解等无关。这样的数字与计算机RAM中用于加载记录的内存段不再有意义。
如果您需要某种发票编号或其他序列号,则必须将该设计零件添加到数据库中。此类数字与 Access 使用和维护以建立关系的某些内部数字无关。
在多用户环境中,由于添加或删除,您通常也可以假设自动编号是随机的 - 它们对用户没有任何意义,对需要某种序列号的业务规则也没有任何意义。