VBA基础
如何在 mdb 中获取 GUID 字符串
2005-02-05 14:26:56
通过事务向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