会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 模块函数VBA > 正文

如何在 mdb 中获取 GUID 字符串

时间:2005-02-05 14:26 来源:accessfaq 作者:朱亦文 阅读:
通过事务向mdb的表中申请一个临时GUID(全球唯一识别码)值,通过撤消事务而不使该值保存,也就是通过ACCESS产生GUID,从而不需要自己写代码去实现这一目的。

Public Function GetGUIDString() As String 
' 通过 usysGUID 表自动产生 GUID 字符串,并借助事务消除对数据库的操作 
' usysGUID 表:GUID 字段为:自动编号 同步复制ID 主键 
'      GuidStr字段为:char(20) 
' 作者:朱亦文 

  Dim rst As ADODB.Recordset 
  Dim cn As ADODB.Connection 
   
  Set cn = CodeProject.Connection 
   
  ' 开始数据库的事务 
  cn.BeginTrans 
   
  ' 打开一个新的记录集 
  Set rst = New ADODB.Recordset 
  With rst 
    Set .ActiveConnection = cn 
     
    ' 以键集开放锁打表 GUID 表 
    .Open "usysGUID", , adOpenKeyset, adLockOptimistic 
    ' 新增记录 
    .AddNew 
    ' 向表中的 GuidStr 字段写入数据 
    .Fields("GuidStr") = "s" 
    ' 更新,此时在表中产生了一新的唯一的 GUID 值 
    .Update 
    ' 重新获取数据 
    .Requery 
    ' 返回记录中的 GUID 值并转换成字符 
    GetGUIDString = StringFromGUID(.Fields("GUID")) 
  End With 
   
  ' 关闭记录集,释放 rst 对象 
  Set rst = Nothing 
  ' 结束事务并取消上述对数据库的操作 
  cn.RollbackTrans 
  ' 释放连接对象 cn 
  Set cn = Nothing 
  GetGUIDString = Mid(GetGUIDString, 2, Len(GetGUIDString) - 2) 
End Function

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: