
Dim Con As ConnectionDim Rs As RecordsetDim strCn as stringstrCn= "Provider=MicrosoftJetOLEDB40;Data Source=你新建库名称mdb;Persist Security Info=False"Set Con = New ConnectionConOpen strCnstrCn = "create table aaa(field1 AutoIncrement,field2 text(10))" '建立aaa表,字段filed1为自动编号型,字段field2为10位字符型ConExecute strCnconcloseset con=nothing如用Set fldMethod = tldMthdDamageCreateField("DamageID", ?????)的这种方式,可用如下方法:
clientid 是数据库的字段?那你怎么能直接在代码里使用?改用Adodc3recordsetfields("Clientid")
‘’‘’原文
If Len(Trim(clientid)) Then '如果查询日期存在最大编号
n = Val(Mid(clientid, 9)) + 1 '最大编号+1
clientid = datetype & Format(n, "00") '与查询日期一起生成新编号
Else '如果当日还没有编号
clientid = datetype & "01" '生成查询日期的第一张编号
End If
getNewID = clientid
'修改后
if Adodc3recordsetrecordcount>0 Then '如果有返回记录
n = Val(Mid(Adodc3recordsetfields("Clientid"), 8)) + 1 '你的原意应该是取后2位吧?
getNewID = datetype & Format(n, "00") '与查询日期一起生成新编号
Else '如果当日还没有编号
getNewID = datetype & "01" '生成查询日期的第一张编号
End If
1 如果是oracle数据库 的话可以利用序列
2如果是用vb程序产生,可以利用访问的时间生成。 Fun_GetLocalTime(1)可以返回你要的。
Private Const CB_SETCURSEL = &H14E
Private Type uSystemTime
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private Declare Sub GetSystemTime Lib "kernel32" (lpSystemTime As uSystemTime)
'
'名称 Fun_GetLocalTime
'作者 MornWoo20071016
'功能 获取系统的时间,精确到毫秒。
'参数 无
'返回 返回字符串数据: iFormat = 0,"YYYY-MM-DD HH:MM:SS"+" " + "毫秒数";iFormat=1,yyyymmddhhmmss毫秒数
' iFormat = 2,"YYYY-MM-DD HH:MM:SS"
'
Function Fun_GetLocalTime(Optional ByVal iFormat = 0) As String
Dim uSysTime As uSystemTime
Dim sA
GetSystemTime uSysTime
If CInt(uSysTimewHour + 8) < 24 Then
Select Case iFormat
Case 0
sA = Format(CStr(uSysTimewYear) & "-" & CStr(uSysTimewMonth) & "-" & CStr(uSysTimewDay), "yyyy-mm-dd") & _
" " & Format(CStr(uSysTimewHour + 8), "00") & ":" & Format(CStr(uSysTimewMinute), "00") & ":" & _
Format(CStr(uSysTimewSecond), "00") & "" & CStr(uSysTimewMilliseconds)
Case 1
sA = Format(CStr(uSysTimewYear) & "-" & CStr(uSysTimewMonth) & "-" & CStr(uSysTimewDay), "yyyymmdd") & _
Format(CStr(uSysTimewHour + 8), "00") & Format(CStr(uSysTimewMinute), "00") & _
Format(CStr(uSysTimewSecond), "00") & CStr(uSysTimewMilliseconds)
Case 2
sA = Format(CStr(uSysTimewYear) & "-" & CStr(uSysTimewMonth) & "-" & CStr(uSysTimewDay), "yyyy-mm-dd") & _
" " & Format(CStr(uSysTimewHour + 8), "00") & ":" & Format(CStr(uSysTimewMinute), "00") & ":" & _
Format(CStr(uSysTimewSecond), "00")
End Select
Else
Select Case iFormat
Case 0
sA = Format(CStr(uSysTimewYear) & "-" & CStr(uSysTimewMonth) & "-" & CStr(uSysTimewDay), "yyyy-mm-dd") & _
" " & Format(CStr(uSysTimewMinute), "00") & _
":" & Format(CStr(uSysTimewSecond), "00") & "" & CStr(uSysTimewMilliseconds)
Case 1
sA = Format(CStr(uSysTimewYear) & "-" & CStr(uSysTimewMonth) & "-" & CStr(uSysTimewDay), "yyyymmdd") & _
Format(CStr(uSysTimewMinute), "00") & _
Format(CStr(uSysTimewSecond), "00") & CStr(uSysTimewMilliseconds)
Case 2
sA = Format(CStr(uSysTimewYear) & "-" & CStr(uSysTimewMonth) & "-" & CStr(uSysTimewDay), "yyyy-mm-dd") & _
" " & Format(CStr(uSysTimewMinute), "00") & _
":" & Format(CStr(uSysTimewSecond), "00")
End Select
End If
Fun_GetLocalTime = sA
End Function
不能,如果是在Excel中添加,可以这样用
With XlSheet
Activate '激活工作表,只有激活以后的range 的 select 方法才有效
Columns(1)Insert
Range("A1") = "序号"
Cells(2, 1) = "1"
Cells(3, 1) = "2"
Range("A1")Select
'Range("A2", "A3")Select
Set SourceRange = Range("A2", "A3")
Set fillRange = Range("A2", ECells(1, TblAttribs(i)Hgt))
SourceRangeAutoFill Destination:=fillRange
'Range("A1")Select
End With
select count() as total from 数据表
如果total是0,
{
则新ID=1
}
else
{
如果total不是0,
则select max(id) as maxid from 数据表
获取maxid的值
新ID=maxid+1
}
当然有很多数据库支持ID自动增加的
SQL SERVER
ACCESS
很遗憾, 用DBF的自由表没有这个功能
直接用SQL语句创建表时,将字段设置为自动编号主键就可以了。
dim cn as adodbconnection
dim sql as string
set cn=new adodbconnection
cnopen "driver={microsoft access driver (mdb)};uid=admin;pwd=;dbq=" & apppath & "\Access_dbmdb"
sql="'CREATE TABLE MyCustomers (CustID int IDENTITY (100,1) PRIMARY KEY, CompanyName nvarchar (50))"
cnexecute sql
set cn=nothing
以上就是关于请问在使用VB建立mdb数据库时,如何将字段属性设为自动编号还有如何建立外码连接全部的内容,包括:请问在使用VB建立mdb数据库时,如何将字段属性设为自动编号还有如何建立外码连接、VB6.0如何自动生成编号、vb如何自动编号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)