【问题标题】:missing autonumbers in AccessAccess 中缺少自动编号
【发布时间】:2018-10-14 09:05:17
【问题描述】:

我有一个非常基本的数据库,只有一个主表和一些查找 - 没有关系。

主表中的自动编号字段几乎没有与其表单相关的代码,但我注意到每 10 条左右的记录就会跳过一个数字。

我已将数据库从用户那里锁定得非常严密,因此他们没有删除权限,并且只能在创建后非常谨慎地修改记录。他们无法删除错误的条目 - 他们必须勾选一个名为 CANCELED 的框才能从列表中删除条目并重新开始。 - 删除记录的唯一方法是 SHIFT-OPEN,打开表并从那里删除...我怀疑他们正在这样做,但一切皆有可能...

问题是这样的 - 我已经看到许多关于类似问题的网络讨论,但解决方案通常指向一些代码或格式问题或 SQL / Access 的东西......我没有这样的系统......它是一个直接的前端/后端数据库使用本地网络上的链接表。 有人可以告诉我这是否只是一个访问的事情,只是忽略它,或者这是非常不寻常的事情,有人正在删除记录......如果有人正在删除记录 - 有什么办法我可以 PW 保护如果它试图在编辑模式下打开?或者我可以 PW 保护桌子本身吗?

或者更好 - 有没有办法我可以添加一些字段和代码,看看到底发生了什么?是访问只是没有创建那个 # 还是有人在惹我? 谢谢

【问题讨论】:

    标签: ms-access autonumber


    【解决方案1】:

    数据库自动编号的基本规则就是它们是内部编号——故事结束!我的意思是当你加载一个word文档时,你关心使用的内存段号吗?自动编号用于设置表之间的关系。它们是一个“概念”,如果表格是由图片、丛林中的猿猴吃香蕉或一些自动麻木序列连接的,你不在乎。

    但是,要回答您的问题,如果您跳转到新记录,然后开始输入,则该记录是脏的。当然用户可能会决定,嘿,我不想添加这条记录。如果他们去编辑->撤消,或者点击 control-z 然后退出,记录不会被创建也不会被保存。但是,自动编号将增加。我的意思是,由于数据库是多用户的,所以一个用户开始工作,然后另一个用户开始工作——他们都将被分配一个自动编号——但他们都可能决定不保存。

    自动编号不应该赋予最终用户意义,而且它们真的不应该出现。用户也永远不会看到记录或 Word 文档加载到的计算机内存段——他们不在乎。

    内部索引和表的布局方式以及它们的工作方式是数据库引擎的唯一问题,与您或您的用户零关系。

    现在您当然“知道”您的计算机具有内存,但您不会将使用的“内存”位置暴露给最终用户,因为此类内部管理号码就是内部管理号码。

    除了用户在添加记录时点击撤消和保释,一般删除记录也会产生间隙。

    如果您要查找某种编号规则,请创建发票编号字段或其他任何内容。虽然可能需要发票号码,但如果您使用内部汽车号码,那么您的数据库设计可以正常工作,因为您没有一些社会保险号码或一些愚蠢的发票号码。作为表之间发展的建筑关系,它们与您有什么关系? (答案:绝对没有!!!)

    您的数据库在没有发票编号或其他编号的情况下运行良好这一事实与用于内务管理和维护关系的内部编号为零。

    您在数据库中定义关系——这些关系与您的用户的想法、了解等零相关。这些数字与您的计算机中用于加载记录的内存段相比没有更多意义。

    如果您需要某种发票编号或其他序列号,则必须将该设计部分添加到您的数据库中。这些数字与 Access 用来建立关系的一些内部数字为零。

    在多用户环境中,由于添加或删除,作为一般规则,您不妨假设自动编号是随机的——它们对用户没有意义,对需要某种序列号的业务规则也没有任何意义.

    【讨论】:

    • 嗨 Albert - 完全同意用户应该和不应该看到的内容 - 事实上,他们只能在一个表单中看到 ID 字段,并且它是只读表单,并且它只有在那里,所以表单排序逐渐地。 (最新在顶部)-回答使用 UNDO 功能的概念-我刚刚对其进行了测试,它确实似乎是缺少 ID# 的“A”原因-我有代码可以自动将其用户 ID 添加到表单中但是当 CtrlZ 它也消失了......你知道是否有一种方法可以确保无论 Ctrl-Z 始终保持记录吗?我更喜欢处理空白记录而不是丢失记录
    • 解决此问题的唯一方法是在您移动到新记录之后,强制执行一些代码来保存记录。但是,这可能会导致必填字段等问题。另一种方法是先使用代码添加新记录,然后通过代码跳转到该记录。因此,一旦您强制保存记录,则取消操作可能会撤消更改,但不会撤消您已经强制保存的记录。但是,这种方法可能会变得混乱,因为您经常会遇到大量空记录。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 2011-03-08
    相关资源
    最近更新 更多