我需要编写一个数据库,遇到以下几个问题。
1) 例如GZ-ZJ002中开始时间填写错误,则点击现点击“工装信息查询”窗体中的修改命令,可在“工装夹具”表中更改相应信息。
GZ-ZJ002归属部门为整机,由于归属部门选择错误,正确的归属部门为射频,现在需要将GZ-ZJ002编号删除,并生成新的编号。
2)下次录入时,点击“工装夹具录入”窗体中生成编号按钮,数据库可自动查找缺少了GZ-ZJ002,有GZ-ZJ001,GZ-ZJ003,并将GZ-ZJ002这条记录补上。
夹具编号是唯一,不会重复编号的生成是跟归属部门有关,为了防止外人误删表格中的数据,能否设置权限,管理员是可查看修改删除,其他人只能查看修改。最好不要有登录窗体太麻烦了。
非常感谢!!!!作者: layaman_999 时间: 2012-6-13 10:46
1.实际操作中,如果夹具编号由人指定后编入数据库,则自动补空无意义。
2.如果夹具编号由数据库指定后再给夹具上编号,则自动补空有一定的意义,但是意义不大,因为新编的夹具尾号就大,这样可以让人知道哪些是新夹具,哪些是老夹具,如果要给他们自动补空,会给以后的管理带来问题(因为一个对应的夹具编号在数据库不小心被删除,但这个夹具在现实中却存在的,你用其他夹具来补了这个空位,很可能在现实中会出现两个相同编号的实体)。作者: layaman_999 时间: 2012-6-13 11:06
如果一定要补空,可使用ADO循环尾号来实现
例如:GZ-ZJ开头的
dim rs as New ADODB.Recordset
set rs = CurrentProject.Connection.Execute("select 夹具编号 from 夹具表 where LEFT(夹具编号, 5) like 'GZ-ZJ'")
dim i as long,J as long,K as long
dim Str1 as string
do While not rs.Eof
i = val(mid(rs!夹具编号, 6))
rs.next
j = val(mid(rs!夹具编号, 6))
if i+1<j then
K= i+1
exit do
loop