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()
! p+ i/ c3 w! n, B# ODim work As Workspace   J* d2 X; Q! M! J* q. [
Dim new As Database
7 z3 M' ~# W) `# K( g* X6 ]Dim elem As Object
$ k7 X9 N$ Z7 A+ c! RDim rs As Recordset
- @2 Z+ r0 t" H  u0 {& ?# dDim RowNum As Integer 7 U) {. T8 N5 o$ @, @6 V: a3 [
Set work = DBEngine.Workspaces(0)
! k% Z* I! U0 Y! X4 u. NDim dbs As Database   t1 @4 ^  m2 [
Dim tdfNew As TableDef - ]. V' {6 @0 u) |
Dim tdf As TableDef - Y$ B- k, f- F' F2 H, Y- p: z; y2 y
Dim dbsname As String 4 P6 p  v' I8 s# _( s
Dim array1 As Variant 5 N/ }7 p7 H; l
Dim array2 As Variant ‘声明所需的变量及类型
) \5 ^" \& w" U" O; [- {dbsname = “D:\材料表.mdb” * D# a$ \0 N0 {1 e' R, F2 {
‘声明Access数据库写到哪一个文件
9 m  E9 j( O- l$ k" xOn Error Resume Next
" |" {& ?& U3 s" Q) ~Set dbs = work.CreateDatabase(dbsname, _ 8 H4 U7 t2 a) i# Y
dbLangGeneral)
- K! H% f- u) P1 _" ]& vIf Err Then
- E, F, d8 C' O+ g$ vKill (dbsname) 3 p3 {. Z9 R" O' E$ o( N2 P6 R2 N
‘发现要写入的Access数据库文件已存在就将其删除
$ a* c9 {3 O$ }7 B7 {Set dbs = work.CreateDatabase(dbsname, _
  u4 f3 E3 ^/ \3 L4 tdbLangGeneral) 7 h/ D2 \$ R- n0 `  G
End If
) i" f; u% Y( CSet tdfNew = dbs.CreateTableDef * u7 Y6 y, C, F
(“电气 _材料明细表”)
3 o3 W& p% a6 Z‘建立一个名为电气材料明细表的表 4 h7 _9 Y$ @" ~4 k6 ?& X$ ^
RowNum = 0 ! m! R+ G5 \$ c8 ?$ t8 X4 r
Dim Header As Boolean
4 L3 q) N8 ]1 U3 I8 p) O7 jHeader = False
3 k. q, A6 M7 n$ E. J5 m5 p' F) JFor Each elem In ThisDrawing.ModelSpace 9 H! b- P& h' ~- ^
‘在CAD模型空间,查找所有图形对象 4 ^9 H3 {8 a& R
With elem ! H. f* Y. e% S9 t; ^' G
If StrComp(.EntityName,_
) q. u0 g2 Z  H$ q“AcDbBlockReference”, 1) = 0 Then # q, e8 K- \$ F  v
If .HasAttributes Then
* \: [3 o5 e5 V* j0 Carray1 = .GetAttributes 9 a3 N( X. m) y) N
array2 = .GetConstantAttributes ) S" X/ G8 i) `, H0 J  E' s
‘设置array1指向图形对象的属性 ! G: z( `1 _$ U7 k# y
‘设置array2指向图形对象的固定属性 $ x. {# D6 @$ a: a# {! Q
For Count = LBound(array2) To _
4 J- _3 `$ Z0 I( c/ c9 yUBound(array2)
/ v  E" r$ n% r3 q. J' pIf Header = False Then 8 `& R" w* p  P# x" G- ]2 B( v
If StrComp(array2(Count).EntityName, _ # [# f; r$ E) L% s
“AcDbAttributeDefinition”, 1) = 0 Then ( X- i3 t6 c& s
tdfNew.Fields.AppendtdfNew._
% i! U* A8 h' e$ vCreateField(array2(Count).TagString, dbText) 0 s$ [( z5 @7 h/ {! `* K" X/ a. }
End If 7 `, h: y; U" t: ~' x
‘读出属性值读出,作为Access数据库表的标题
" r6 f& y( g. {7 ~5 ^End If 3 ~$ d, x" z- S
Next Count ( N; Y3 I8 ~8 k7 z
For Count = LBound(array1) To _ ' b7 F- Q+ K& [8 [
UBound(array1)
( O# Z: g  P0 XIf Header = False Then * g' P0 p6 v! _( Z+ ^
If StrComp(array1(Count).EntityName, _ . f5 [  i+ ~  `: n
“AcDbAttribute”, 1) = 0 Then % H9 y) ~/ M0 s  _- ~
tdfNew.Fields.Append tdfNew. _
  C  ?; f! y  L; PCreateField(array1(Count).TagString, dbText)
) R( p( {7 S' x& z2 Z- AEnd If 7 g1 i5 c: m* f; Z: j, U+ E  p- I
End If
2 h' M8 p2 g9 g" k3 p% {! fNext Count
: m/ G) D4 X  N) I  V: aIf Header = False Then
$ k3 x/ b) m8 Z. B- q/ rdbs.TableDefs.Append tdfNew
3 [& u; Q2 V6 B8 e: E$ a' k# c$ `. ySet rs = dbs.OpenRecordset
1 g8 Y7 d/ @4 M" I" L% G(“电气材料 _明细表”, dbOpenTable) ‘打开记录
( r$ z6 I" x+ J3 ]7 bEnd If 4 X7 u* ~. z6 T( l2 `  e
RowNum = RowNum + 1   M3 h6 [& X. l4 B" L, C
rs.AddNew ‘增加一笔新记录
8 W- G4 l' P5 L% V( H! h4 T2 A& AFor Count = LBound(array2) _ ; h) X  X/ h0 n
To UBound(array2) 2 S3 x/ Y, y: h  T2 ?
rs(Count).Value = array2(Count).TextString
7 F2 U+ `2 _/ `6 o' {3 S* r0 ]* n! L2 lNext Count ‘读固定属性值 * s$ P* G7 c6 I3 a. }5 D8 B. E# o
For Count = LBound(array1) To _ - x& Q+ ?( R) t& R% [: Z; e- F0 n
UBound(array1)
2 o* U/ j8 }* r- O  A* O# vrs(UBound(array2) + Count + 1).Value = _
2 S9 {" g0 t- G  ?/ L) {) H( F/ Barray1(Count).TextString 5 m6 l$ H* L3 A! o, x: C' Q
Next Count ‘读输入属性值 ! h0 e; T+ p2 V' y
rs.Update ‘增加新记录修改结束
# ?( D, G2 L. R) d" Q* Z, \/ r+ \. p2 LHeader = True
2 {4 N- `: @; p  T% S/ ?5 `/ Q8 x3 KEnd If 1 M2 }6 V! C1 r) _# p- |! o
End If
; D% o! c9 b+ [: VEnd With
. J, w' u  I0 H4 C- l' L* sNext elem $ R) J) I& B/ a, @( r
rs. Close ‘关闭记录,释放资源 : b: q3 W3 |7 L1 }
dbs.Close ‘关闭数据库,释放资源 : o" {7 Z) `- f' |
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
  \) C9 N! m: h( ?3 P) F  [6 ]真是太好了 + i' W1 P" z8 x0 X6 P# w- b
這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-22 14:22

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

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

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