博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如何将excel 数据库表结构生成powerdesign物理模型

Posted on 2017-06-20 14:32  徐正柱-  阅读(675)  评论(0编辑  收藏  举报
Option Explicit   
Dim mdl ' the current model 
Set mdl = ActiveModel 
If (mdl Is Nothing) Then   
  MsgBox "There is no Active Model" 
End If 
  
Dim HaveExcel 
Dim RQ  
RQ = vbYes 'MsgBox("Is Excel Installed on your machine ?", vbYesNo + vbInformation, "Confirmation") 
If RQ = vbYes Then  
   HaveExcel = True  
' Open & Create Excel Document 
 Dim x1 '  
  Set x1 = CreateObject("Excel.Application")
  x1.Workbooks.Open "D:/Test.xlsx" 
  x1.Workbooks(1).Worksheets("Sheet1").Activate 
Else
   HaveExcel = False 
End If 
  
a x1, mdl 
  
sub a(x1,mdl) 
dim rwIndex 
dim tableName 
dim colname 
dim table 
dim col 
dim count 
  
'on error Resume Next 
For rwIndex = 1 To 50 step 1                      
    With x1.Workbooks(1).Worksheets("Sheet1")
  'MsgBox "生成数据表结构共计1 ="+CStr(.Cells(2,2).Value ), vbOK + vbInformation, "表" 
   If .Cells(rwIndex, 1).Value = "" Then 
       Exit For 
   End If  
  If .Cells(rwIndex, 3).Value = "" Then 
    set table = mdl.Tables.CreateNew 
        table.Name = .Cells(rwIndex , 1).Value 
        table.Code = .Cells(rwIndex , 2).Value 
        count = count + 1  
   Else   
    colName = .Cells(rwIndex, 1).Value 
    set col = table.Columns.CreateNew  
   'MsgBox .Cells(rwIndex, 1).Value, vbOK + vbInformation, "列" 
    col.Name = .Cells(rwIndex, 1).Value 
    'MsgBox col.Name, vbOK + vbInformation, "列"
     col.Code = .Cells(rwIndex, 2).Value 
    col.Comment = .Cells(rwIndex,1).Value  
    col.DataType = .Cells(rwIndex, 3).Value 
   End If 
  End With 
Next 
  
MsgBox "生成数据表结构共计" + CStr(count), vbOK + vbInformation, "" 
 
Exit Sub 
End sub
将EXCEL 数据库表结构生成POWERDESIGN

代码说明:

1.) For rwIndex = 1 To 50 step 1                  此处是定义生成的行数,即字段数量50,可以修改此数

2.)   x1.Workbooks.Open "D:/Test.xlsx"      此处是  excel 数据库表结构存入的位置,可以自定义位置和名称

3)Test.xlsx  中 的 “应申报统计”数据库表 结构如下:

应申报统计(表名name) SB_YSBTJ(表名code)  
会计制度(准则)代码 KJZDZZ_DM CHAR(3)
是否催报及监控未申报 SFCBJJKWSB CHAR(1)
作废日期 ZFRQ_1 DATE
征收方式代码 ZSFS_DM CHAR(3)
纳税期限代码 NSQX_DM CHAR(2)
税款所属期止 SKSSQZ DATE
税款所属期起 SKSSQQ DATE
月份 YF CHAR(2)
年度 ND VARCHAR2(10)
征收品目代码 ZSPM_DM CHAR(9)
征收项目代码 ZSXM_DM VARCHAR2(5)
登记序号 DJXH NUMBER(20)
纳税申报日期 NSSBRQ DATE
原申报期限 YSBQX DATE
申报期限 SBQX DATE
数据来源标志 SJLYBZ CHAR(1)
征收代理方式代码 ZSDLFS_DM CHAR(1)
行业代码 HY_DM VARCHAR2(4)
修改日期 XGRQ DATE
修改人代码 XGR_DM CHAR(11)
录入日期 LRRQ DATE
申报方式代码 SBFS_DM CHAR(2)
数据归属地区 SJGSDQ CHAR(11)
录入人代码 LRR_DM CHAR(11)
主管税务所(科、分局)代码 ZGSWSKFJ_DM CHAR(11)
主管税务局代码 ZGSWJ_DM CHAR(11)
税收管理员代码 SSGLY_DM CHAR(11)
作废人代码 ZFR_DM CHAR(11)
作废标志 ZFBZ_1 CHAR(1)
应申报统计UUID YSBTJUUID VARCHAR2(32)
数据同步时间 SJTB_SJ TIMESTAMP
税源编号 SYBH_1 VARCHAR2(40)

 

将上面的代码保存为vbscript保存至  C:\Program Files (x86)\Sybase\PowerDesigner 15\VB Scripts 中,命名为:generate_table_structure_for_excel.vbs

然后在PD菜单  Tool -> Execute Commands->   Edit/Run Script  选择上面所保存的vb script