50分 高分急求!vb数据库自动编号问题

我想做一个界面.上面有1个adodc1控件,一个datagrid 控件,2个text 控件.三个按扭(分别是 增加 删除 修改).我建立了一个名字为"库存表"的数据库.里面有4项内容(序号 姓名 密码 授权日期). 实现功能 如下: 用鼠标选中每条记录时,2个TEXT 文本框自动显示本条记录中的姓名和密码. 增加时.我想在2个text 文本框中输入 "姓名" "密码" .然后点击"增加"按扭就可以在数据库中增加一条记录.其中的"序号"为自动添加的,"授权日期"也是自动添加的系统日期. 删除时.要求删除其中一条记录后,其他记录再自动编号,不要出现删除中间的一条后,出现空闲的序号. 修改时.就在2个TEXT 文本框中输入内容,按 "修改"键 修改内容.然后自动保存到数据库中. 希望有那位VB 高手能帮帮忙, 我急求这个程序.如果答案令我满意.我再追加50分给你.小弟新申请的,就这么点分了.谢谢了!急!!!

第1个回答  2019-03-21
你的问题是你用错了控件,我这个是ADO连接数据库。你用的是ADODC加DATAGRID连接的。所以出错。你自己看我声明数据库的时候是ADODB
Call
OpenConn
'用CALL
调用OPENCONN函数
sql
=
"select
hfid
from
hfb
ORDER
BY
hfid"
'打开hfb表,hfid是自动编号的数据
,里面的hfb和hfid都是我自己随便写的名字,hfd是表的名字,hfid是要自动编号的字段
rs.Open
sql,
cn,
1,
1
'rs是打开数据库后可以调用数据库的名称
If
rs.RecordCount
>
0
Then
’假如数据库中的内容大于0,即数据库中有数据,不是空的
rs.MoveLast
'则移动到数据库的最后面一个数据,例如现在编号是HF00001~HF00009,就移动到HF00009
txtHFID.Text
=
"HF"
&
Format(Val(Right(rs.Fields("hfid"),
5)
+
1),
"00000")
'生成的为HF00009+1
为HF00010,即自动在最后的编号基础上加1
,里面的TXTHFID是文本框的名称,根据你自己的修改。RS.FIELDS(A)是指你现在打开的这个数据库中的字段A的数值
Else
txtHFID.Text
=
"HF00001"'如果没有数据,自动生成HF00001
End
If
Call
CloseConn
’关闭数据库
,CLOSECONN也是函数名臣,你可以修改
txtdate.Text
=
Format(Date,
yyyymmdd)
’日期就比较简单了,直接赋值就可以了。
最后的是打开和关闭数据库的代码:
Public
Sub
OpenConn()
’函数声明
Set
cn
=
New
ADODB.Connection
’声明CN为新的数据库链接
Set
rs
=
New
ADODB.Recordset
’声明RS
cn.CursorLocation
=
adUseClient
cn.Open
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=\\dell745\data\data.cc;Jet
OLEDB:Database
Password=123;Persist
Security
Info=False;"
'打开的是网络里的DELL745计算机下面的DATA文件夹下面的DATA.CC文件,密码是123.
End
Sub
'关闭数据库连接
Public
Sub
CloseConn()
rs.Close
’关闭链接
Set
rs
=
Nothing
’清0
cn.Close
Set
cn
=
Nothing
End
Sub
相似回答