`

power desinger vb 脚本

    博客分类:
  • vbs
 
阅读更多
Option Explicit
   ValidationMode = True
   InteractiveMode = im_Batch
 Dim mdl
 Set mdl = ActiveModel
  If(mdl Is Nothing) Then 
  MsgBox " there is no current model"
  ElseIf  Not mdl.IsKindOf(PdPDM.cls_Model) Then
  MsgBox " there is not an physical data model"
  Else ProcessFolder mdl
  End If
  
  Private sub ProcessFolder(folder)
   Dim Tab 
   for each Tab in folder.tables
      Dim col 
      for each col in tab.columns
         If col.DataType="tinyint(1)" then
         col.DataType="int(1)"
         End If
         next
         
       next
End sub

 

Option Explicit
   ValidationMode = True
   InteractiveMode = im_Batch
 Dim mdl
 Set mdl = ActiveModel
  If(mdl Is Nothing) Then 
  MsgBox " there is no current model"
  ElseIf  Not mdl.IsKindOf(PdPDM.cls_Model) Then
  MsgBox " there is not an physical data model"
  Else ProcessFolder mdl
  End If
  
  Private sub ProcessFolder(folder)
   Dim Tab 
   for each Tab in folder.tables
      
         If table.code="" then
         table.code=""
         End If
        
         
       next
End sub

 

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 '
Dim x2
Set x1 = CreateObject("Excel.Application")
Set x2 = CreateObject("Excel.Application")
x2.Workbooks.Open "D:\VSSLocal\ONEBOSS\04 基本设计\03 DB设计\02 表定义\公共字段.xls"
x1.Workbooks.Open "D:\excel\current.xls" '指定excel文档路径
x1.Workbooks(1).Worksheets("Sheet1").Activate '指定要打开的sheet名称
x2.Workbooks(1).Worksheets("Sheet1").Activate '指定要打开的sheet名称
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

set table = mdl.Tables.CreateNew '创建一个表实体

For rwIndex = 15 To 100 '指定要遍历的Excel行标 由于第1行是表头,从第2行开始
With x1.Workbooks(1).Worksheets("Sheet1")
If .Cells(rwIndex, 2).Value = "" Then
Exit For
End If
 table.Name = .Cells(4, 3).Value '指定表名,如果在Excel文档里有,也可以 .Cells(rwIndex, 3).Value 这样指定
 table.Code = .Cells(4, 3).Value '指定表名

set col = table.Columns.CreateNew '创建一列/字段
'MsgBox .Cells(rwIndex, 1).Value, vbOK + vbInformation, "列"
If .Cells(rwIndex, 3).Value = "" Then
col.Name = .Cells(rwIndex, 2).Value '指定列名
Else 
col.Name = .Cells(rwIndex,3).Value
End If
'MsgBox col.Name, vbOK + vbInformation, "列"
col.Code = .Cells(rwIndex, 2).Value '指定列名

If .Cells(rwIndex,5).text <> "" Then	
    col.DataType=LCase(.Cells(rwIndex,4).Value)+"(" + .Cells(rwIndex, 5).text + ")"
  Else 
	col.DataType=LCase(.Cells(rwIndex,4).Value)
End If
If .Cells(rwIndex,10).Value <>"" Then
   col.Comment = "("+.Cells(rwIndex,3)+") 说明:"+.Cells(rwIndex, 10).Value '指定列说明
 Else col.Comment=.Cells(rwIndex,3)
  End If
If .Cells(rwIndex,8)<> "" Then
	col.DefaultValue=.Cells(rwIndex,8)
End If
If .Cells(rwIndex, 7).Value = "N" Then
col.Mandatory = true '指定列是否可空 true 为不可空 
End If
If  .Cells(rwIndex, 6).Value = "PK" or .Cells(rwIndex,6).Value="Key" or .Cells(rwIndex,6).Value="KEY"  Then
col.Primary = true '指定主键
End If
End With
Next

For rwIndex= 1 To 13
With x2.Workbooks(1).Worksheets("Sheet1")
If .Cells(rwIndex, 1).Value = "" Then
Exit For
End If
set col = table.Columns.CreateNew
If .Cells(rwIndex, 2).Value = "" Then
col.Name = .Cells(rwIndex,1).Value '指定列名
Else 
col.Name = .Cells(rwIndex,2).Value
End If
col.Code = .Cells(rwIndex, 1).Value '指定列名
If .Cells(rwIndex,4).text <> "" Then	
    col.DataType=LCase(.Cells(rwIndex,3).Value)+"(" + .Cells(rwIndex, 4).text + ")"
  Else 
	col.DataType=LCase(.Cells(rwIndex,3).Value)
End If
If .Cells(rwIndex,9).Value <>"" Then
   col.Comment = "("+.Cells(rwIndex,2).Value+") 说明:"+.Cells(rwIndex, 9).Value '指定列说明
 Else col.Comment=.Cells(rwIndex,2).Value
  End If  
If .Cells(rwIndex,7).Value <> "" Then
	col.DefaultValue=.Cells(rwIndex,7).text
End If
End With
Next

MsgBox "生成数据表结构共计 " + CStr(count), vbOK + vbInformation, "表"

Exit Sub
End sub

 

分享到:
评论

相关推荐

    Power Designer Simple Tutorial

    这款工具涵盖了数据库模型设计的各个环节,支持数据流程图、概念数据模型(CDM)、物理数据模型(PDM)的创建,并能生成多种客户端开发工具的应用程序,如PowerBuilder、Delphi、VB等。此外,它还能够应用于数据仓库...

    6数据库建模工具简介--Power_Designer9.0.ppt

    - **物理数据建模**:在CDM的基础上,Power Designer可以生成适应不同数据库管理系统的PDM,包括SQL脚本,以便于实际数据库的创建和维护。 **2. Power Designer 的建模过程** Power Designer的建模过程通常包括...

    Power Designer 简易教程ppt

    它可以与PowerBuilder、Delphi、VB等开发工具配合使用,以缩短开发时间,优化系统设计。 **二、Power Designer的主要组件** 1. **Data Architect**:这是Power Designer的核心组件,用于创建和管理数据库模型。...

    Power Designer Simple Tutorial使用指南

    使用Power Designer 的一般步骤包括安装软件、启动设计环境、选择合适的模型类型、创建和编辑模型、转换模型、生成数据库脚本以及进行维护。在实际应用中,了解每个模型的作用和转换规则,以及如何利用正向工程和...

    Power_Designer_Simple_Tutorial

    它提供了一整套解决方案,涵盖了从需求分析到数据库设计的全过程,包括数据流程图、概念数据模型(CDM)、物理数据模型(PDM)的创建,以及与多种开发工具如PowerBuilder、Delphi、VB的集成,有效缩短开发周期,优化...

    PowerDesigner 16.5 模型对象参考手册(vbs编程操作模型对象会用到)

    包括PowerDesigner 16.5版本所有模型的元对象信息,编写vbs脚本操作模型对象时可以查找模型对象有哪些属性和方法。

    PDM中把列的注释设置为列名的脚本

    只需要在power designer 中运行这个VB脚本就能轻松把PDM中所有表的每列注释设置为列名。 下载后只要在PD环境 中TOOL 下运行这个脚本即可。

    PowerDesigner中显示name,code,comment的解决方法

    Step1:选中PDM模型中所有要操作的表,执行以下VB脚本(快捷键ctrl+shift+x): ```vb Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl ' the current model ' get the current active...

    把powerdesigner中表名为汉字以及列名为汉字的转为汉语拼音抽头的方法

    ```vb Option Explicit ValidationMode = True InteractiveMode = im_Batch ' get the current active model Dim mdl Set mdl = ActiveModel If (mdl Is Nothing) Then MsgBox "There is no Active Model" Else ...

    datawindow.net 2.5

    3. `setup.isn`:可能是一个安装脚本或配置文件,记录了安装过程的步骤和参数。 4. `DataWindow.NET25.lbl`:可能是一个标签文件,用于安装程序界面的本地化或标识。 5. `Sybase Common DW.Net.msi`:这是Sybase通用...

    PB技术资料汇总

    2. 脚本语言:PB使用PBL(PowerScript)语言,类似于C++和VB,支持结构化和面向对象编程。 3. 数据窗口脚本:在数据窗口上定义特定的行为,如检索、更新、删除等操作。 五、PB数据库连接 1. ADO.NET、ODBC和OLE DB...

    Powerdesigner 15.1使用教程

    PowerDesigner的强大之处在于其支持绝大多数数据库系统,与流行的设计软件如PowerBuilder、Delphi、VB等软件配合使用,可以显著缩短开发时间,并优化系统设计。其模块化结构的灵活性允许用户根据项目的需求购买和...

    PowerDesigner15.1中文教程.pdf

    它能够与众多流行的数据库设计软件协同工作,如PowerBuilder、Delphi、VB等,以优化系统设计并缩短开发周期。 PowerDesigner的主要功能包括: 1. 集成多种建模能力,能建立的数据模型包括E/R(实体-关系模型)和...

Global site tag (gtag.js) - Google Analytics