乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 29|回复: 1

访问和属性

[复制链接]

57

主题

235

帖子

3

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
463
发表于 2007-9-25 13:33:29 | 显示全部楼层 |阅读模式
有人知道如何从Access数据库链接到CAD属性吗?
示例?

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

26

主题

275

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
379
发表于 2007-9-25 13:42:22 | 显示全部楼层
这里有一个片段可以做到这一点。您可能需要根据自己的喜好进行调整
  1. Option Explicit
  2.   Public Tatts As Variant
  3.   Public ssnew_usr As Object
  4.   Const DATABASE_DIR = "q:\std\drafting_db"
  5.   Dim db As DAO.Database
  6.   
  7. Sub ge_user_time()
  8.   Dim login As String
  9.   Dim dwg_nm As String
  10.   Dim SysVarName As String
  11.   Dim MyDate
  12.   Dim mod_date As Variant
  13.   Dim time_tmp_cnt As Variant
  14.   Dim time_cnt As Variant
  15.   Dim MyTime
  16.   Dim objSelSet As AcadSelectionSet
  17.   Dim objSelCol As AcadSelectionSets
  18.     Set objSelCol = ThisDrawing.SelectionSets
  19.     For Each objSelSet In objSelCol
  20.         If objSelSet.Name = "user1_cnt" Then
  21.             objSelSet.Delete
  22.             Exit For
  23.         End If
  24.     Next
  25.     SysVarName = "LOGINNAME"
  26.     login = ThisDrawing.GetVariable(SysVarName)
  27.         MyTime = Time
  28.         MyDate = Date
  29.         mod_date = MyDate & " " & MyTime
  30.     SysVarName = "USERS5"
  31.     time_tmp_cnt = ThisDrawing.GetVariable(SysVarName)
  32.   Dim EntGrp(0) As Integer
  33.   Dim EntPrp(0) As Variant
  34.   Dim BlkObj As Object
  35.   Dim Pt1(0) As Double
  36.   Dim Pt2(0) As Double
  37.     Set ssnew_usr = ThisDrawing.SelectionSets.Add("user1_cnt")
  38.     EntGrp(0) = 2
  39.     EntPrp(0) = "drafting_db_block"
  40.     ssnew_usr.Select acSelectionSetAll, Pt1, Pt2, EntGrp, EntPrp
  41.     If ssnew_usr.Count >= 1 Then
  42.      Call cadreq_str
  43.         Tatts = ssnew_usr.Item(0).GetAttributes
  44.         dwg_nm = (LTrim(Tatts(3).TextString))
  45.         Set db = DAO.OpenDatabase(DATABASE_DIR & "drafting_db_oldver.mdb", False, False)
  46.         Dim rs As DAO.Recordset
  47.         Set rs = db.OpenRecordset( _
  48.         "SELECT * FROM USER_INFO WHERE CaddReq = '" _
  49.         & cad_req & "' AND DrawingName = '" & dwg_nm & "'  AND UserID = '" & login & "'")
  50.         If (rs.RecordCount > 0) Then
  51.             time_tmp_cnt = rs.Fields("Time") + time_tmp_cnt
  52.             rs.Edit
  53.             rs.Fields("Mod_Date") = MyDate
  54.             rs.Fields("Mod_Time") = MyTime
  55.             rs.Fields("Time") = time_tmp_cnt
  56.             On Error Resume Next
  57.             rs.Update
  58.         Else
  59.             rs.AddNew
  60.             rs.Fields("UserID") = login
  61.             rs.Fields("CaddReq") = cad_req
  62.             rs.Fields("DrawingName") = dwg_nm
  63.             rs.Fields("Time") = time_tmp_cnt
  64.             On Error Resume Next
  65.             rs.Fields("Mod_Date") = MyDate
  66.             rs.Fields("Mod_Time") = MyTime
  67.             rs.Update
  68.         End If
  69.         rs.Close
  70.         Set rs = Nothing
  71.         db.Close
  72.         Set db = Nothing
  73.     End If
  74. End Sub

您可能需要检查这些才能使其工作:
快乐编码。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-6 10:12 , Processed in 0.710673 second(s), 57 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表