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()
& F$ @$ E4 u& c9 |( a, }Dim work As Workspace 6 X/ o) J5 ~6 ~  b. ^
Dim new As Database
/ N, p5 b4 z- c5 v. ODim elem As Object ) ~) h& X) ~1 \% R8 C
Dim rs As Recordset 0 I6 ]  M8 D; |* i
Dim RowNum As Integer
7 ^' X4 ^, j% v( f- w1 H7 ySet work = DBEngine.Workspaces(0)
! y" k# {2 T! h9 r. e0 M1 S0 SDim dbs As Database
1 B% l9 D* {8 G# W) \Dim tdfNew As TableDef
8 N8 J) w8 D+ }Dim tdf As TableDef % `2 U  z' _/ |; {$ N/ ?
Dim dbsname As String , V) U' b( _) V8 O$ V
Dim array1 As Variant
6 L* q, @/ S5 r) L* mDim array2 As Variant ‘声明所需的变量及类型 4 o1 F7 p: ^$ l5 e6 I. i9 X
dbsname = “D:\材料表.mdb” 7 V" D7 `$ Y8 _3 k' Y6 h! |6 M
‘声明Access数据库写到哪一个文件
$ Q. d3 \5 W2 c* I" lOn Error Resume Next
  E3 h5 z3 R8 J, T2 \7 i# CSet dbs = work.CreateDatabase(dbsname, _
6 h( B- E6 z3 c. M; ]dbLangGeneral)
3 i) ]# w9 P1 {" C& C6 ^4 f" BIf Err Then " `( j; s1 Q  R6 a% V& S
Kill (dbsname)
7 F" L9 |* s( e‘发现要写入的Access数据库文件已存在就将其删除
; ^, u# I5 L0 J1 e9 qSet dbs = work.CreateDatabase(dbsname, _
1 q( z* s6 D1 j! n+ q+ ldbLangGeneral)
, H0 G9 M+ n; H# D6 CEnd If
6 P- ~, A% A, L2 GSet tdfNew = dbs.CreateTableDef 5 b  v$ ?/ R. [
(“电气 _材料明细表”)
9 x" u4 C6 L3 ?5 Z4 b0 g/ `7 c‘建立一个名为电气材料明细表的表
! m/ f& h4 X2 ?9 o2 k3 fRowNum = 0
1 {2 ]' g  u1 D5 p9 v  K5 R9 j3 nDim Header As Boolean
( ^1 x# w2 m+ ?! x' o' M8 J' NHeader = False % V( k- x3 J* K
For Each elem In ThisDrawing.ModelSpace
" ?3 k0 Y$ N5 Q6 @7 C+ X- `/ F‘在CAD模型空间,查找所有图形对象 6 o4 x) ^3 b* [# ^% t  O) g' H$ g
With elem
1 w1 @1 v/ q7 W& Z# @If StrComp(.EntityName,_ 1 y7 k( r1 |. ]6 L* ?
“AcDbBlockReference”, 1) = 0 Then
* T' W$ Y/ p4 ^/ hIf .HasAttributes Then # h" }! `: F0 _' L% n
array1 = .GetAttributes
: w5 ?& u+ t1 C9 s- B  d4 Parray2 = .GetConstantAttributes
2 H$ z' [/ w; \/ y9 I‘设置array1指向图形对象的属性 6 X) a% q( @4 p) ], h0 K
‘设置array2指向图形对象的固定属性 % D" w& G: o3 l+ V( x) U
For Count = LBound(array2) To _ : g( u8 j# R4 f" \
UBound(array2) ' ^8 m$ x( c( Z, p3 A( r+ l! s
If Header = False Then 1 w- g, N% ], `# J: x
If StrComp(array2(Count).EntityName, _
$ G* w; b* ~# s0 p! p“AcDbAttributeDefinition”, 1) = 0 Then
' U* f% i- ^3 g9 H6 z8 [; MtdfNew.Fields.AppendtdfNew._ - _1 R' }: y2 G' J# g. }2 f# p
CreateField(array2(Count).TagString, dbText)
# u$ h% d- s2 V9 ~3 s7 pEnd If
# H( h; |  k& U8 `/ D" z6 |- b) ?‘读出属性值读出,作为Access数据库表的标题
5 I( n# F+ J; u- p5 S3 {; f5 eEnd If
1 o. v: h0 R# A8 `+ p/ ZNext Count
! M' m# r/ P, T8 WFor Count = LBound(array1) To _
1 r' z" p% s- g7 w0 o6 U  TUBound(array1) , _% C: V3 Z$ R0 k' F- q7 D
If Header = False Then
5 a4 G1 g+ c  E8 ?) {. \If StrComp(array1(Count).EntityName, _ ' F: M' B( @$ W+ f- X: C
“AcDbAttribute”, 1) = 0 Then ! u$ t; |+ @: N9 G' S
tdfNew.Fields.Append tdfNew. _
7 m) ~) q+ S' I* e6 u- @& }- I$ WCreateField(array1(Count).TagString, dbText)
. E' g9 r: H7 M$ F+ v4 dEnd If
. ]$ q7 u! \0 Y9 I- b, d4 lEnd If & v: _) r0 A% R9 i  Y
Next Count - ^: e9 |" E9 o" D) t; N8 U  s% P
If Header = False Then & X: Z0 K/ x# u/ V$ ?$ l% ]" ?
dbs.TableDefs.Append tdfNew
9 U9 d) c$ L1 ?3 s$ Y5 lSet rs = dbs.OpenRecordset ; }% s3 H* x) K5 K  k
(“电气材料 _明细表”, dbOpenTable) ‘打开记录 + L. p1 |: r7 R0 y/ a
End If ) D1 L5 c& Z# X' |7 V, }4 ^& e
RowNum = RowNum + 1 & s8 u7 p2 i: W, f* E
rs.AddNew ‘增加一笔新记录
# q# d0 F8 j4 S7 R/ z/ aFor Count = LBound(array2) _ ( f6 C3 C7 q1 R
To UBound(array2)
; k, d- V" G: X" ?0 Frs(Count).Value = array2(Count).TextString
" N; }. R  @; V0 K( L5 y* \Next Count ‘读固定属性值
& H  \" p/ Q& o& T8 zFor Count = LBound(array1) To _
( H0 y: ]7 u; N8 e* J2 c$ gUBound(array1) : J6 V! q& Q$ ?) _& w- ?
rs(UBound(array2) + Count + 1).Value = _
! u' X. ^3 g9 T7 v7 x5 aarray1(Count).TextString % N9 ~7 ]; O7 H
Next Count ‘读输入属性值
6 F2 Y, U( E  [rs.Update ‘增加新记录修改结束 # h$ y) t- J) D# R7 i( U6 v
Header = True
  ^+ e4 E* g+ V+ `" p  zEnd If
2 X! _( J; ?1 h, C! iEnd If
) ?! u1 `% L% r* l; N& h' f( zEnd With
2 A: ]5 W8 n! C) N4 UNext elem $ ~! M0 M, g3 y+ I3 C
rs. Close ‘关闭记录,释放资源
' w6 _! g4 p  }( U) h: sdbs.Close ‘关闭数据库,释放资源
- m! P# L! _# L) e* \6 F% r: T% wEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
5 u! [6 n( c0 U+ C& @* b- l4 Q真是太好了
: [8 c0 G- v( u( ]5 p, h5 B這就是我要的 ^^
发表于 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-12 08:27

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

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

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