这个是数据库自带的功能啊,设置字段类型为自动编号就行了。在保存数据的时候这个字段不用赋值,也不用出现在Insert语句里。
成都创新互联专业为企业提供汉台网站建设、汉台做网站、汉台网站设计、汉台网站制作等企业网站建设、网页设计与制作、汉台企业网站模板建站服务,十年汉台做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
这种问题一般不需要考虑,删除就是删除了,也不需要你去修改id以使它一定要连续
VB可以使用Date 函数获取当前日期拼接数字字符串组成日期加数字序列号字符串。
Date函数返回包含系统日期的 Variant (Date)。
Option Explicit
Dim strsz As String * 3
Dim a As Integer
Private Sub Command1_Click()
a = a + 1
Text2 = a
strsz = Format(a, "000")
Text3 = Date$ strsz '显示日期加序号(1-999)
End Sub
Private Sub Form_Load()
Text1 = Date$
Text2 = a
End Sub
好像不需要这样,你可以对库存表加一个批次字段,不同的单价批次字段不同
比如
名称 价格 批次
毛巾 1.2 1
毛巾 1.4 2
下面的代码BatchId为批次字段名
_________________________
Dim rs As ADODB.Recordset
Dim strSql As String
Set m_Conn = OpenConnForSqlServer("XSFHLZH\SQLEXPRESS", "xsfh", "")
strSql = "select distinct name,price from test"
Set rs = OpenRecordset(strSql, m_Conn)
Do Until rs.EOF
n = n + 1
strSql = "update test set BatchId = " n " where name = '" rs!Name "' and price = " rs!price
'MsgBox strSql
RunTrans strSql, m_Conn
rs.MoveNext
Loop
你的问题是你用错了控件,我这个是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
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
第一种方式:手动设置,设置列允许重新排列,这样在单击datagridview的列名时,就会自动排序
第二种方式:自动排序,想要按那列排序,就设置那列的SortMode的属性为:Programmatic