Access创建自动编号数据类型和获取全球唯一编码(GUID)的方法

2017-09-04 11:10:00
黄善超
原创
249

数据库表需要设置主键,主键是非重复的,而Access设置自动编号,即每当向表中添加一条新记录时,从1开始,每次递增 1。自动编号字段不能更新。


1、设置自动编号

在表设计视图下,数据类型下拉选择自动编号即可


2、设置GUID

GUID即全球唯一识别码的自动编号:全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的字符串。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中的 x 是 0-9 或 a-f 范围内的一个32位十六进制数。现阶段,任何计算机都不可能生成两个相同的GUID。为了方便今后的分类搜索查询,确保唯一性。它的每条记录都是唯一不重复的值,类似:{9E4038C8-E965-45B1-BDE1-9F06E6B280A3}

在设计视图中建立GUID列时,数据类型选择自动编号。同时,在下面常规选项卡中“字段大小”中选择了“同步复制 ID”,索引中选择了“有(无重复)”。


3、自定义获取GUID

分享一个自定义的获取全球唯一识别码的GUID函数


Private Type GUID
Data1 As Long
Data2 As Long
Data3 As Long
Data4(8) As Byte
End Type
Private Declare Function CoCreateGuid Lib "ole32.dll" ( _
pguid As GUID) As Long
Private Declare Function StringFromGUID2 Lib "ole32.dll" ( _
rguid As Any, _
ByVal lpstrClsId As Long, _
ByVal cbMax As Long) As Long

自定义一个函数
Public Function GetNewGuild() As String
Dim g As GUID
Dim b() As Byte
Dim lSize As Long
Dim lR As Long
CoCreateGuid g
lSize = 40
ReDim b(0 To (lSize * 2) - 1) As Byte
lR = StringFromGUID2(g, VarPtr(b(0)), lSize)
GetNewGuild = Left$(b, lR - 1)
End Function
    分享