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()
# L. v. h. n8 x! v# wDim work As Workspace
5 P! z) k: c' _1 s, rDim new As Database
' W% Y9 T- J3 y% Q4 Z  R6 pDim elem As Object 1 P  J3 y: Y  J, m. K' n) A
Dim rs As Recordset 7 g4 b7 q. x7 M8 q% \% S+ q& ~; Z
Dim RowNum As Integer
% A; ]$ C2 ^9 q6 g( \Set work = DBEngine.Workspaces(0)
0 @$ h1 l3 |/ h/ M% gDim dbs As Database
  J" z2 K7 o  W/ L; h# A! S5 CDim tdfNew As TableDef
( o4 k: p( l1 Q( r$ H: z/ S& _9 gDim tdf As TableDef
$ q1 C9 G  O1 ^5 m, w& ]Dim dbsname As String
  U$ q+ }8 F7 u. h9 r7 cDim array1 As Variant
3 ?" S; }% _' p  [, cDim array2 As Variant ‘声明所需的变量及类型
5 P- q) A5 j1 T. W, Qdbsname = “D:\材料表.mdb” % P# G9 c/ o. \8 J) p" z
‘声明Access数据库写到哪一个文件
, G  i9 Q+ \' o1 qOn Error Resume Next ( g4 }5 _% |$ g' _; G- Q
Set dbs = work.CreateDatabase(dbsname, _
3 m7 X, K" H) GdbLangGeneral) . Z8 g9 c6 W" C7 C
If Err Then
8 ]0 c9 D7 a/ R/ ^& Q. R" ]Kill (dbsname) ! n: }* }$ T( T! t
‘发现要写入的Access数据库文件已存在就将其删除 * e& {: d  g* }- w
Set dbs = work.CreateDatabase(dbsname, _
2 q& C1 H* U4 @  tdbLangGeneral)
5 R7 t' _+ B9 X, W' @End If
/ W6 L% x( y& G$ }) e8 xSet tdfNew = dbs.CreateTableDef
3 h' _* `. I; W, g1 [8 ^(“电气 _材料明细表”)
( J) j* _8 D; w; f& F2 |; T‘建立一个名为电气材料明细表的表
1 K( e* h: R. ~+ Z8 j6 b- P3 C2 mRowNum = 0
+ ]6 E2 f6 S  W1 f2 `# P/ \7 fDim Header As Boolean
- _8 Y* L. c. N5 P6 KHeader = False , n0 b; ?$ W% Q, g; A
For Each elem In ThisDrawing.ModelSpace , {- q  h: n0 Y
‘在CAD模型空间,查找所有图形对象
2 B1 h' l' x! {# VWith elem 3 c  y$ [% _& Q5 v9 y' B$ D2 {* E
If StrComp(.EntityName,_ ! t& Z% ]5 B" c: |) v# _- H, Y6 U* A! q
“AcDbBlockReference”, 1) = 0 Then
; d: ]9 T) y& T/ [If .HasAttributes Then
$ V# e  O- Y* e  y4 [array1 = .GetAttributes
4 v  G* O* Z/ X- k" [% garray2 = .GetConstantAttributes # H- T7 l0 b" {7 f
‘设置array1指向图形对象的属性
0 m/ U5 N) C1 R; ^, J‘设置array2指向图形对象的固定属性 7 B- ]/ ^/ K* A. t- l7 \; c% m
For Count = LBound(array2) To _
; v6 s5 U: y1 Q& DUBound(array2) 9 X9 O! e+ C8 t5 d* _
If Header = False Then 0 ?7 C4 r; G0 c8 o% f! D( W
If StrComp(array2(Count).EntityName, _
) q& H7 u' R" s5 o0 ^' `+ Z7 P“AcDbAttributeDefinition”, 1) = 0 Then
, M. i- I, _3 R, R/ k6 l8 i9 etdfNew.Fields.AppendtdfNew._ : ]% I: x7 x1 Y3 _4 ~4 Y) P* [, a
CreateField(array2(Count).TagString, dbText) 7 \4 i1 u0 d, g, P+ d% }  z
End If
' e5 G1 D0 q$ l1 [1 R‘读出属性值读出,作为Access数据库表的标题 * \( o5 z' j5 P: b+ g$ l; C
End If " Q9 k2 O# G: ~; [$ {  b7 Y6 |. ^
Next Count
/ v% T) ]( t/ ~/ b+ K9 l0 lFor Count = LBound(array1) To _ ! K; [4 D* o$ S: m+ H3 \% M
UBound(array1)
) ^: Y! u  a$ [& `If Header = False Then % H0 w( q0 o1 q* Z' Q8 x
If StrComp(array1(Count).EntityName, _ / v) x5 A0 ?: Z+ R" P4 Q
“AcDbAttribute”, 1) = 0 Then
9 f$ B" F1 K7 _2 a+ {' LtdfNew.Fields.Append tdfNew. _ ! F' t& m) k7 \, Q( C: t; B8 h" o
CreateField(array1(Count).TagString, dbText) * N6 a- K% c* y3 J
End If . u4 w4 ~) W( K' `- M& w
End If : W' r5 @" @( |
Next Count : ~$ b7 p. D  S
If Header = False Then
2 _- j, W. M- {! b- D0 q: \( [& v9 Ldbs.TableDefs.Append tdfNew
: i' k! x3 ~- R& p( q) p8 DSet rs = dbs.OpenRecordset 0 ?5 |9 v3 n/ A: [+ Y
(“电气材料 _明细表”, dbOpenTable) ‘打开记录
, T6 y' l( F6 YEnd If   b) f$ D5 A3 E7 A  X6 A) c3 g
RowNum = RowNum + 1 6 f" S, M* E# x- k& X6 J
rs.AddNew ‘增加一笔新记录 4 U" Z+ f4 b0 F" R! I+ |" O( i
For Count = LBound(array2) _
% G' v" a9 D( [5 K! {- }/ ]: \5 q" j/ NTo UBound(array2)
* p; u; L1 F' ^3 k% K# urs(Count).Value = array2(Count).TextString
9 r+ g0 r" Q5 K; F2 w( oNext Count ‘读固定属性值
, a! o% h+ v; f# V  ]- H. FFor Count = LBound(array1) To _
; q: }8 c3 R+ \, {8 `UBound(array1)
5 c  m% m3 }6 `# ]9 ?rs(UBound(array2) + Count + 1).Value = _ % S  E  E2 @3 d1 _) O, V
array1(Count).TextString
3 n, n' a. I* E2 LNext Count ‘读输入属性值 6 L3 Q7 X2 f* w" r" `1 K4 x% l1 t
rs.Update ‘增加新记录修改结束 2 h7 D" g, l. G' J6 T; h! F
Header = True % s, |! q. R2 V! j  Y. B- V0 I0 R' v
End If
  l- d% @8 z% h# t: [! o( M6 ZEnd If
+ d' z: @7 [8 R; T& P% L" b% U# GEnd With
; [, ]" D4 H* o' j5 A5 Y4 s# ^Next elem
. M3 |9 o' T% ^* j' wrs. Close ‘关闭记录,释放资源 5 Q' h& Y7 S% L, O6 Y6 W$ O3 T
dbs.Close ‘关闭数据库,释放资源 0 m, t2 N& }* v
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot" d6 C* c2 F& X3 V* P3 ^
真是太好了 , }! g0 a: z% f: j& Y4 O; d6 j
這就是我要的 ^^
发表于 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-15 19:23

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

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

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