如何将excel 数据库表结构生成powerdesign物理模型
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().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 = To step
With x1.Workbooks().Worksheets("Sheet1")
'MsgBox "生成数据表结构共计1 ="+CStr(.Cells(2,2).Value ), vbOK + vbInformation, "表"
If .Cells(rwIndex, ).Value = "" Then
Exit For
End If
If .Cells(rwIndex, ).Value = "" Then
set table = mdl.Tables.CreateNew
table.Name = .Cells(rwIndex , ).Value
table.Code = .Cells(rwIndex , ).Value
count = count +
Else
colName = .Cells(rwIndex, ).Value
set col = table.Columns.CreateNew
'MsgBox .Cells(rwIndex, 1).Value, vbOK + vbInformation, "列"
col.Name = .Cells(rwIndex, ).Value
'MsgBox col.Name, vbOK + vbInformation, "列"
col.Code = .Cells(rwIndex, ).Value
col.Comment = .Cells(rwIndex,).Value
col.DataType = .Cells(rwIndex, ).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
如何将excel 数据库表结构生成powerdesign物理模型的更多相关文章
- 根据数据库表结构生成java类
import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWrit ...
- 【工具篇】利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL( ...
- mybatis根据数据库表结构自动生成实体类,dao,mapper
首先, pom需要引入 <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifac ...
- Mybatis总结之如何自动生成数据库表结构
一般情况下,用Mybatis的时候是先设计表结构再进行实体类以及映射文件编写的,特别是用代码生成器的时候. 但有时候不想用代码生成器,也不想定义表结构,那怎么办? 这个时候就会想到Hibernate, ...
- 利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL( ...
- 通过jdbc取得数据库表结构信息
做制作开发平台时,首要的一点是如何取得数据库表结构信息.一般通用的做法就是通过JDBC中的ResultSetMetaData类来进行操作,当你取得了数据库表结构信息后,比如说表的每个字段名称,字段类型 ...
- 物理数据模型(PDM)->概念数据模型 (CDM)->面向对象模型 (OOM):适用于已经设计好数据库表结构了。
物理数据模型(PDM)->概念数据模型 (CDM)->面向对象模型 (OOM):适用于已经设计好数据库表结构了. 步骤如下: 一.反向生成物理数据模型PDM 开发环境 PowerDes ...
- 微调数据库表结构,30 分钟搞定 WordPress 数据库查询缓慢问题
同事的美女图片站,基于 WordPress 搭建的,因为数据越来越多,变得慢,我从 PHP slow log 里面看出是 WordPress 有些查询总是很慢,即使已经安装了页面缓存插件,但是由于页面 ...
- PHP快速获取MySQL数据库表结构
直接举例某个数据库中只有两个数据表,一个 test ,一个 xfp_keywords ,获取他们的数据库表结构. 此功能可以用于开发人员快速获取数据表结构通过获取的数据生成各种文件形式,用来快速理解数 ...
随机推荐
- Linux 记录所有用户登录和操作的详细日志
1.起因 最近Linux服务器上一些文件呗篡改,想追查已经查不到记录了,所以得想个办法记录下所有用户的操作记录. 一般大家通常会采用history来记录,但是history有个缺陷就是默认是1000行 ...
- Thinkphp3.1 php 链接SqlServer
ThinkPHP链接 M("lk_employeeInfo","Null/表前缀","sqlsrv://账号:密码@服务器:端口/数据库") ...
- window.open 和showModalDialog的返回值
方法: 1: 在父级页面 test.aspx 的点击<input type="button" id="btnShow" onclick="sh ...
- Python NLTK 自然语言处理入门与例程(转)
转 https://blog.csdn.net/hzp666/article/details/79373720 Python NLTK 自然语言处理入门与例程 在这篇文章中,我们将基于 Pyt ...
- c/c++关于指针的一点理解
#include <iostream> #include <string> using namespace std; int main() { }, n{}; cout < ...
- Cursor for loop in Oracle
declare l_sql ); -- variable that contains a query l_c sys_refcursor; -- cursor variable(weak cursor ...
- mongoose update操作属性中的变量
最近在学习mongoose操作数据库,利用schema模型.记录一下通过使用update()操作实现数据库更新: 可在属性中添加变量,'属性名.0',可以修改该属性的第一条属性,依次类推,但是如果想实 ...
- asp.net core Session的测试使用心得及注意事项
sp.net-core中Session是以中间件的形式注册使用的.不比asp.net中的使用,直接使用Session就行. 首先在.net-core框架中注入Session中间件,首先在Configu ...
- angular笔记_3
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- os模块、os.path模块、shutil模块、configparser模块、subprocess模块
一.os模块 os指的是操作系统 该模块主要用于处理与操作系统相关的操作,常用的是文件操作(读.写.删.复制.重命名). os.getcwd() 获取当前文件所在的文件夹路径 os.chdir() ...