设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

如何在 mdb 中获取 GUID 字符串

1970-1-1 08:00| 发布者: 朱亦文| 查看: 1586| 评论: 0

通过事务向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

最新评论

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-4-4 05:17 , Processed in 0.065766 second(s), 17 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部