(原创)在ER/Studio中使用宏把Attribute name复制到Definition

在ER/Studio中使用宏把Attribute name复制到Definition

最近在处理ER/Studio生成SQL脚本时发现,如果在Definition处没有定义,那么在生成SQL脚本后就没有表和字段的注释。
因此就写了一个宏来实现这个功能,代码如下:
把以下代码保存为XXX.bas文件放到ER/Studio安装目录下的Macros的文件夹下,ER/Studio就可以自动加载到Macros选项卡中,如:C:\Program Files\Embarcadero\ERStudio6.5\Macros


Dim EntCount As Integer
Dim ColCount As Integer
Dim MyDiagram As Diagram
Dim MyModel As Model
Dim MyEntity As Entity
Dim MyAttribute As AttributeObjDim TableArray() As String
Dim ColArray() As String
Function getColumns(TableName As String )
Dim Indx As Integer
Dim count As Integer
count = 1
Indx = 0
Set MyEntity = MyModel.Entities.Item(TableName)
ColCount = MyEntity.Attributes.Count
ReDim ColArray(0 To ColCount) As String
For count=1 To ColCount
  For Each MyAttribute In MyEntity.Attributes
    If MyAttribute.SequenceNumber = count Then
      If MyModel.Logical = True Then
        If MyAttribute.HasLogicalRoleName = True Then
          ColArray(Indx) = MyAttribute.LogicalRoleName
      Else
        ColArray(Indx) = MyAttribute.AttributeName
      End If
    Else
      If MyAttribute.HasRoleName = True Then
        ColArray(Indx) = MyAttribute.RoleName
      Else
        ColArray(Indx) = MyAttribute.ColumnName
      End If
    End If
    MyAttribute.Definition = ColArray(Indx)
    Indx= Indx +1
  End If
  Next MyAttribute
  Next count

End Function

Sub Main
Debug.Clear
Set MyDiagram = DiagramManager.ActiveDiagram
Set MyModel = MyDiagram.ActiveModel
Dim Indx As Integer
Indx = 0
EntCount = MyModel.Entities.Count - 1
ReDim TableArray(0 To EntCount) As String
For Each MyEntity In MyModel.Entities
  If MyModel.Logical = True Then
    TableArray(Indx) = MyEntity.EntityName
  Else
    TableArray(Indx) = MyEntity.TableName
  End If
  MyEntity.Definition = TableArray(Indx)
  getColumns(TableArray(Indx))
  Indx = Indx +1
Next MyEntity

End Sub

时间: 2024-09-25 02:39:32

(原创)在ER/Studio中使用宏把Attribute name复制到Definition的相关文章

用Visual Studio 2005创建宏代码生成器

目前的软件并不是自动生成的,但是我们都知道软件将会一代代地发展下去.那么,为什么我们不努力于自动生成的软件?为什么不努力于创造能够一代代自动生长或发展使用的软件而却致力于改变现有的?目前我们所拥有的哪些技术能够支持生成的软件而遗忘了哪些技术呢?对这些问题的回答可能还不存在,但是VS 2005中已经具有一些能力来支持生成的代码了. 在Visual Studio 2005中,你可以使用宏来为你书写代码.这些宏代码生成器并不是随便生成的,而你也不必凭想象和发明来构划要写什么样的宏.两个独立但仍有联系的

Visual studio 中win32控制台应用程序和空项目有什么却别?

问题描述 Visual studio 中win32控制台应用程序和空项目有什么却别? 如果你不知道有什么区别,可以先运行一下,这些代码. http://ask.csdn.net/questions/187617 可以正常的在win32控制台应用程序建的工程上运行. 在空项目,就会有帖子上的错误. 下边回答的空项目的图片传错了,应该是: 解决方案 空项目没有默认包含和使用的库,链接器也没有配置为控制台,这些都需要手工设置. 但是,你完全可以通过创建空项目,并且手工设置,达到和创建任何一种项目,包括

Visual Studio 中的单元测试 UNIT TEST

原文:Visual Studio 中的单元测试 UNIT TEST 注:本文系作者原创,可随意转载,但请注明出处.如实在不愿注明可留空,强烈反对更改原创出处. TDD(Test-Driven Development) 测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论.TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码.单元测试是最基本的测试步骤.位于整个产品开发流程V模型的最底部.大致如图,在各种开发流程中RA&PSD完成后,无需底层基础,

Android Studio中SDK Location没有了,不能设置sdk的路径

问题描述 Android Studio中SDK Location没有了,不能设置sdk的路径 今天脑子迷迷糊糊的,不知道点了什么东西,自己项目就出问题,然后自己重新重新配置sdk路径也找不到,将IDE卸载重新安装还是老样子,真的很蛋疼. 求求大家们帮帮我,谢谢大家了! 解决方案 Android Studio 怎么设置JDK和SDK的路径Android studio 没有SDK location设置选项Android Studio设置代理更新下载SDK

如何在Zend Studio中使用Zend Debugger调试PHP

在介绍完PHP5环境下Zend Debugger安装配置教程后,今天来说说如何在Zend Studio中使用Zend Debugger调试PHP程序,使用Zend Debugger还是比较方便,我使用的是Zend Studio7,Zend Studio7的Debug配置界面与早期的Zend Studio还是略有不同. 在使用Zend Debugger在Zend Studio中调试PHP之前,请先安装Zend Debugger,如果对Zend Studio的使用比较陌生,推荐先学习PHP开发工具Z

无法在 SQL Server 2005 Manger Studio 中录入中文的

问题表现:在 SQL Server 2005 Manger Studio中打开表,无法输入中文,只能输入英文 问题重现:1. 我们建立如下三个测试表:CREATE TABLE ta(    id int IDENTITY,    col varchar(50)) CREATE TABLE tb(    col varchar(50),    id int IDENTITY) CREATE TABLE tc(    col1 varchar(50),    col2 as col1) 2. 在SQ

[ER/Studio]进行不同版本数据库结构的合并

数据|数据库|数据库结构 难度系数:0本文目的:介绍ER/Studio数据库建模软件,感觉比Rose及Visio数据库建模好用没有ERWin的乱码问题,PowerDesigner一直无缘用到,呵呵,听说过没见过 :) 公司开发的一个系统,因为是提供给客户代码的,所以客户进行了二次开发.同时为了产品的扩展性,我们公司本身也对其进行了进一步的开发.后来根据需要,客户要求我们在他们已有程序的基础上结合我们现在的程序对其系统进行升级. 两边的代码修改幅度都不是很大,使用VSS可以进行比较确认差异.但是客

Excel动画教程:在Excel中录制“宏”

今天我们用动画的形式介绍在Excel中录制宏的方法和技巧. 完全可以这样说,"宏"是Excel的精华部分,如何录制一个宏呢? 下面,我们以录制一个设置标题"跨列居中"的宏为例,看看具体的录制过程: 1.执行"工具→宏→录制新宏"命令,打开"录制新宏"对话框. 2.在"宏名"下面输入一个名称(如"跨列居中"),并设置好宏的保存位置. 注意:宏的保存位置有三种:当前工作簿--宏只对当前工作簿

在Visual Studio中以编程方式自定义SharePoint网站入门

Microsoft Visual Studio 2005 集成开发环境 (IDE) 提供了用于自定义基于 Windows SharePoint Services 的网站的首选环境.例如,您可以创建 Windows 应用程序.控制台应用程序或类库,以及基于 浏览器的 Web 应用程序(在 Visual Studio 中,此应有程序称作"ASP.NET 网站"或"Web 应用程序" )和实现 Windows SharePoint Services 对象模型的 Web 服