CAD设计论坛

 找回密码
 立即注册
论坛新手常用操作帮助系统等待验证的用户请看获取社区币方法的说明新注册会员必读(必修)
12
返回列表 发新帖
楼主: gysheng

cad统计材料表

[复制链接]
发表于 2008-10-17 16:08 | 显示全部楼层
下载不了了????
发表于 2008-10-17 16:10 | 显示全部楼层
怎么下载啊,为什么下不了?
发表于 2008-10-20 15:19 | 显示全部楼层
不知道是做什么用的
发表于 2008-12-10 13:25 | 显示全部楼层

顶起

请用过的同志说明一下怎么用
发表于 2009-1-6 13:04 | 显示全部楼层
Sub list()
! j' u) e% ^& i3 gDim work As Workspace
0 a# ?. \. l4 K. b9 MDim new As Database
1 {3 H: t3 k2 f- O+ ]Dim elem As Object 6 K( X  A( H( \8 M. g) R* R3 h" i
Dim rs As Recordset - X# J9 o4 Q( w- y( c0 d: J
Dim RowNum As Integer
' O# f7 P4 P! P2 i  RSet work = DBEngine.Workspaces(0) ) Z1 L+ t  ~4 f/ @' W
Dim dbs As Database
" ~. V6 @  W2 g) U0 G, _Dim tdfNew As TableDef
" z+ x8 ]3 D# C% N$ Y$ w% I  CDim tdf As TableDef 8 E) g4 L$ n3 n. q6 J# ?+ X. G
Dim dbsname As String
. r9 A3 {6 l! F) t# _2 {# ZDim array1 As Variant + G0 [3 R& y$ @) Y
Dim array2 As Variant ‘声明所需的变量及类型 ; ]* C' [* p. R: o
dbsname = “D:\材料表.mdb”
; @" h& V0 x' F3 l1 X‘声明Access数据库写到哪一个文件 % ?# B; N+ ?) H. \9 k
On Error Resume Next 9 Q! J. d  h' t; A& H+ D/ Y8 a
Set dbs = work.CreateDatabase(dbsname, _ # [: X+ F& l$ d# l4 A  [2 m
dbLangGeneral)
/ s  Q% z. `4 L( t3 rIf Err Then
* S, f0 w) v+ W+ QKill (dbsname) 6 q/ D- o$ }4 ^4 a$ h
‘发现要写入的Access数据库文件已存在就将其删除
+ Q7 ~( c2 Z, s% g8 KSet dbs = work.CreateDatabase(dbsname, _ " N+ e. c- W  b- `
dbLangGeneral)
; R* z2 J  s. N$ U5 _, N' fEnd If
5 S; ^" h3 }& cSet tdfNew = dbs.CreateTableDef & D# X9 b0 N# \3 j
(“电气 _材料明细表”)
% D3 X; i/ a  y: n‘建立一个名为电气材料明细表的表 6 n6 b3 N! p; ^; l' Q$ L% e0 Q) Z
RowNum = 0
2 h' ^, ^/ `+ A1 KDim Header As Boolean $ _" i& P9 |; H
Header = False - f) e. l/ \# I) }8 r
For Each elem In ThisDrawing.ModelSpace
* ~7 a9 }9 I5 R1 a‘在CAD模型空间,查找所有图形对象
! R2 k, k& x7 q' E2 ?0 b7 DWith elem " y9 R/ G7 s2 `8 B- c% O
If StrComp(.EntityName,_ 6 a3 k: \/ O0 G" K( C
“AcDbBlockReference”, 1) = 0 Then 7 _( i- ~! b2 a1 `! s: f
If .HasAttributes Then
6 P0 M. x/ x% B- ^% v& V. Narray1 = .GetAttributes & I* V0 a* i/ Z2 _1 f
array2 = .GetConstantAttributes
* _1 [  g" t/ B$ K6 I# T‘设置array1指向图形对象的属性 2 c  l4 R% [& o1 A3 e
‘设置array2指向图形对象的固定属性
% z" L1 j( Z2 E/ x* sFor Count = LBound(array2) To _   Y0 g3 @# q9 P6 R$ M" W" [
UBound(array2)
6 H4 a( _, J4 V1 g1 p3 G2 UIf Header = False Then
5 c8 K1 J5 n9 N4 b- v# C5 W  M1 ^If StrComp(array2(Count).EntityName, _
( w7 u; N7 @2 h) ?2 R“AcDbAttributeDefinition”, 1) = 0 Then
" u8 q4 [3 b4 u0 N3 xtdfNew.Fields.AppendtdfNew._
% c- F+ g" e2 Z! X% j  CCreateField(array2(Count).TagString, dbText)
- M( v, U" z+ V- Y3 N4 V3 MEnd If
+ d3 z. W1 V7 }' Q- U" W‘读出属性值读出,作为Access数据库表的标题
, L9 L9 z; W4 o, J8 V) }0 cEnd If 0 k' O2 f0 ]7 q6 W. I, b% Q- Y5 y
Next Count & r6 Z$ U. j; P: u  s  L: A  J
For Count = LBound(array1) To _
& K. h. K0 G: `' Q* G* @UBound(array1) " H4 \/ T. K9 L8 r7 l3 E' K) p
If Header = False Then
' J- `4 F# O6 gIf StrComp(array1(Count).EntityName, _ - I. G; C. ?- W# U
“AcDbAttribute”, 1) = 0 Then
) a% h2 @# P% z# C& `& q2 _. p+ t+ PtdfNew.Fields.Append tdfNew. _ % A" I9 z; k. B& ~# P6 X( d; a3 }6 _% S
CreateField(array1(Count).TagString, dbText) 6 q2 Z" r; h1 C% R9 o: M5 Z5 o
End If 1 z; C: Y3 a; \  i
End If
6 W" B- i7 c) x# @/ FNext Count / S6 L' ^- ~, ^( e5 g' G0 @2 o
If Header = False Then
, Y, y) T# A) ^* f# g' S% tdbs.TableDefs.Append tdfNew
% T# m& d) U% U8 x% G8 u5 A8 a* _Set rs = dbs.OpenRecordset & ^4 O. C  W3 X5 g
(“电气材料 _明细表”, dbOpenTable) ‘打开记录 $ o2 g" A( T3 c( `; l
End If
4 z# I2 S+ x8 M$ B6 z* r+ ORowNum = RowNum + 1 2 _+ e( a; A* D, M, k$ D( M/ v
rs.AddNew ‘增加一笔新记录
2 w: V4 }9 \; FFor Count = LBound(array2) _
8 S" w( W$ z. G% B* @1 o0 g8 lTo UBound(array2)
  `; ?1 P3 A! \7 y/ `rs(Count).Value = array2(Count).TextString
, ]$ B6 Z7 R/ s1 ~8 P" ?& LNext Count ‘读固定属性值 8 n4 c; p8 F7 k; O0 N
For Count = LBound(array1) To _ & R% N8 M. y8 s& R: }8 t
UBound(array1) ; |2 ^5 M7 T$ S( B, T" `
rs(UBound(array2) + Count + 1).Value = _
3 ^+ r, R; ~4 b" R/ carray1(Count).TextString
  F# _) y$ {+ q8 [8 }( r0 Q1 UNext Count ‘读输入属性值
+ J, z3 l5 n: Y4 y6 |& Xrs.Update ‘增加新记录修改结束
3 m1 ?/ O7 j2 V' l. A2 vHeader = True 6 _5 c8 n' X1 y3 }( s2 u
End If
% _& Z9 b( N3 i5 M7 iEnd If
. e7 r) S5 Y0 b6 M7 h: ?" }End With   n' L# H" H6 z
Next elem % M- ^6 A" E; r" M8 f
rs. Close ‘关闭记录,释放资源
8 o+ v4 N  Z  K# P" fdbs.Close ‘关闭数据库,释放资源 2 L. y8 h* ~# N4 O3 I
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot/ q. [9 X4 d& i1 N# A
真是太好了
7 n% a+ G- V" A6 e( z/ n+ Y; R這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于|免责|隐私|版权|广告|联系|手机版|CAD设计论坛

GMT+8, 2026-2-9 17:38

CAD设计论坛,为工程师增加动力。

© 2005-2026 askcad.com. All rights reserved.

快速回复 返回顶部 返回列表