我为我的公司建立一个系统来跟踪内部订单,在我们的仓库之间,我们有从仓库1到仓库2的材料,我们忘记了仓库1中有多少“x”和在仓库2中有多少,所以我想实现这个访问数据库,用户填写表格并说:订购1:500的“x”订单2:300的“y”。然后另一个用户填写一个退出表格,他说“x”中有1个出去,所以我需要程序来跟踪总订单以及填写订单1等多少...等等...
我的想法是,每当有人组装1“x”时,每个“x”都有一个订单号和一个ID号,他们填写表格并直接从访问中打印标签(我已经将这部分工作了)同时记录组装时间,验证人员和验证内容(也可作为质量控制)。
我不知道的是如何对数据库进行编程,当它达到“x”的500时,“x”的id号从1再次开始
这是我现在的程序中的一个主要问题,我在访问数据库或vba方面没有经验,但是我从那里到处都有提示和技巧,所以,不需要小心技术语言,如果我必须,我会谷歌:p
编辑:
表结构如下:
1个表作为主表,我记录了为每个产品进行的检查,其中包括产品的型号,我想在检查了多个产品后重置的ID,以及一个连接的字段包含大部分此类信息以生成qr代码。
然后有一个订单号表,它连接到一个表格,记录每个新订单的日期/时间字段,订单号本身和产品数量。然后必须从代码中调用此数量的产品,该代码将计算到目前为止检查了多少产品并保持订单号字段更新,以便我们跟踪订单。
然后还有另一个小表来获取表单的值,产品模型
感谢您的回答;)
答案 0 :(得分:1)
不幸的是,在Access中,您无法重置' ID字段,除非您将记录移动到新创建的表中,并且每500个记录使用该表。
对于用户控制和登录表单,我担心这些是必须在不同主题中提出的单独问题。
为了帮助您入门:
您可以将表单的RecordSource
设置为表格,当用户进行输入时,数据将保存到表格中。您还可以使用带控件的表单(文本框,组合框等)并创建一个运行查询的按钮,以将这些记录插入表中。
登录件 - 您可以使用密码加密数据库。这可能/可能还不够。
答案 1 :(得分:1)
如果可能,我建议您更改架构。如下所示:
订单强>
<强>交付强>
DCount("*", "Deliverables", "OrderID=" & Me.OrderID) + 1
我假设您的表单有一个名为OrderID
的控件绑定到Deliverables表的OrderID字段。
代码使用DCount()
函数来获取已为此订单创建的所有其他可交付成果的计数。如果这是第一个可交付成果,DCount()
将返回0.然后将此计数加1以获取下一个可交付成果的序列号。
如果新的SequenceNumber大于请求的数量,您可以显示一条消息,说明订单已被填写并取消创建可交付记录。
这只是一种方法,并不是一个完整的解决方案。我假设一旦分配了序列号,就无法删除可交付物。您可能需要考虑丢失或损坏的可交付物。您可以将状态字段合并到Deliverable表来处理此问题,但您仍需要决定如何处理SequenceNumber。