您的位置:逆风者 VB 正文
原作者:www.upwinder.com 添加时间:2007-09-01 原文发表:2007-08-31 人气:26 来源:未知

VB提供的DataManager对于开发人员来讲并不是一件强大的工具。对于那些没有装ACCESS数据库的人来说,在开发时建立.改变或重构数据库,以及载入/重载表单都是一件痛苦的事。此外DataManager不能让我们打印数据库的结构。
逆@风@者

让我们编一个小程序实现上述功能,然后工程结束后把它抛弃.

首先可以用一个以逗号分隔的文本文件来储存表结构,如下面这个人员表。

lPersonID,Long,,person's ID
sPersonFirstName,Text,20,person's first name
sPersonLastName,Text,20,person's last name
bIsAFunPerson,Boolean,,invite to a party?
iTypeOfJob,Integer,,0=None 1=Manual 2=Office 3=programmer etc.
iAge,Integer,,person's age

该表有六列,每列独占一行。每行中用逗号分隔下列各项:字段名.字段类型.字段长度(如果不是字符型字段,就留空,仅用逗号分隔)及字段描述。如果你想在字段描述中使用逗号,你可以不用逗号分隔各项,
换成Tab分隔。
一个通用程序能读取这些文件并根据它们建立起数据库。这种方法,连同一些通用的导入/导出程序能大大加快程序开发的速度。举例 来说,你不能在DM中删除一个表的一列,但通过删除CSV文件中对一列的定义,然后重新运行构建数据库的程序,你就能轻松做到这一点。

如果你想打印出数据库的结构,方法也很简单:用Excel读CSV文件,再将其粘贴到Word中,这样你就可以打印出整个数据库的结构了。

下面是程序代码:

Sub CreateTable (sDatabaseName As String, sCSVFileName As String,
sTableName As String)
Dim iTemp As Integer
'将控制权交还给操作系统,使其在创建数据库的同时能运行其它程序-别让你的计算机闲着!
iTemp = DoEvents()
'创建一个300X3数组
ReDim sTables(300, 3) As String
Dim sDataTypeLine As String

' 读取CSV文件,并将字段定义保存在数组中
Call ReadTableDefinition(sCSVFileName, sTables())

Dim tbl As New TableDef
Dim fld As Field

'打开数据库
Dim dbPersons As database
Set dbPersons = OpenDatabase(sDatabaseName & ".MDB", True)



'记录下新的表单名
tbl.Name = sTableName

'增添第一个字段
Set fld = New Field
fld.Name = sTables(1, 1)
fld.Type = GetFieldType((sTables(1, 2)))
fld.Size = Val(sTables(1, 3))
tbl.Fields.Append fld


dbPersons.TableDefs.Append tbl

'增加其它的字段
Dim iNextCol As Integer
iNextCol = 1
Do While True
Set fld = New Field
iNextCol = iNextCol 1
'到了表定义的底部则退出
If sTables(iNextCol, 1) = "***END***" Then
Exit Do
End If
fld.Name = s

相关文章

Visual Basic 集成开发环境的元素
创建不规则窗口
在VB中模拟实现邮件传输
利用VB6.0开发基于IIS的应用程序
窗体迁移大法
VB6在拖托盘中写入应用程序图标
多用户应用程序中应注意问题3
如何在VB6中导出EXCEL、FOXPRO格式的表
VB 神童教程第二章第十节——综合示例四
功能强大的SendMessage函数
VB COM编程基础之子过程函数和参数
用VB实现用户登录密码的修改
VB编程基础课
统计字数
Visual Basic 的常见问题
VB编程的几个API函数的应用问题
字符串中包含双引号
切分字符串
用VB学做“黑客”程序
Visual Basic 概念

相关评论


本文章所属分类:首页 VB

  热门关键字: