是不是你想自己写一条记录,编号用自己的?set identity_insert mytable on insert mytable(编号,姓名) values(100,'张三') set identity_insert mytable off
'编号自加 Dim mrc As ADODB.Recordset Dim txtSQL As String Dim MsgText As String txtSQL = "select number from books" Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF Then Text12.Text = "0000001" Else End If mylen = Len(Trim(mrc.Fields(0))) mrc.MoveLast mynumber = CStr(Val(Trim(mrc.Fields(0))) + 1) mrc.Close i = Len(mynumber) While i < mylen mynumber = "0" & mynumber i = i + 1 Wend
我做过的一个程序方法是这样的,不过我知道这不是最好的方法,因为会产生断号。 下边假设编号为“FX00001”样式,长度为7,其中数字编号部分为5位 dim rst as adodb.recordset dim cnn as adodb.conection private sub form_load() set rst=new adodb.recordset set cnn=new adodb.connection end sub private function GetNewNum() as string dim T1,T2,T3 rst.open "select ...." ,cnn rst.movelast T1=rst.field(0) T1=right(T1,5) T1=cint(T1) T1=T1+1 getnewnum="FX" & string(5-len(trim(str(t1))),"0") & trim(str(t1)) end function
直接add name就ok
insert mytable(编号,姓名) values(100,'张三')
set identity_insert mytable off
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
txtSQL = "select number from books"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF Then
Text12.Text = "0000001"
Else
End If
mylen = Len(Trim(mrc.Fields(0)))
mrc.MoveLast
mynumber = CStr(Val(Trim(mrc.Fields(0))) + 1)
mrc.Close
i = Len(mynumber)
While i < mylen
mynumber = "0" & mynumber
i = i + 1
Wend
下边假设编号为“FX00001”样式,长度为7,其中数字编号部分为5位
dim rst as adodb.recordset
dim cnn as adodb.conection
private sub form_load()
set rst=new adodb.recordset
set cnn=new adodb.connection
end sub
private function GetNewNum() as string
dim T1,T2,T3
rst.open "select ...." ,cnn
rst.movelast
T1=rst.field(0)
T1=right(T1,5)
T1=cint(T1)
T1=T1+1
getnewnum="FX" & string(5-len(trim(str(t1))),"0") & trim(str(t1))
end function