SQL,搜索出数据库中的表名和表中的字段名。(VB+ACCESS)

lhbyichang 2002-09-13 08:57:44
用SQL,搜索出数据库中的表名和表中的字段名及数据类型。(VB+ACCESS)
...全文
35 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyu5188 2002-09-17
  • 打赏
  • 举报
回复
UP
wwwxjjj 2002-09-16
  • 打赏
  • 举报
回复
你是想进行错误处理吧,用不着这样,把数据库设计的要合理,错误处理放到程序级。
Ex:
Exit Sub
Er:
If Err.Number = 3704 Or Err.Number = 3265 Then
Resume Next
End If
If gblnDebug = True Then
'调试程序
MsgBox "有错误发生!" & Chr(13) & "错误号:" & Err.Number & Chr(13) & Err.Description, vbOKOnly + vbCritical, "提示"
End If
gConn.RollbackTrans
MsgBox "有错误发生!!!", vbOKOnly + vbCritical, "提示"
GoTo Ex
qffhq 2002-09-15
  • 打赏
  • 举报
回复
遍历RS的所有字段,取类型长度大小等,
WizardBear 2002-09-15
  • 打赏
  • 举报
回复
好好看看vb自带的datamanager的源程序,

看它是怎么取出表名和字段名的,

也可以看看ado帮助里面的recordset的属性...
wwwxjjj 2002-09-14
  • 打赏
  • 举报
回复
rscordset.Fields(字段名).Type
存取对象变量库结构作为一个功能较完备的Windows软件开发平台,Visual Basic专业版提供了对数据库应用的强大支持。尤其提供了使用数据控件和绑定控制项,使用数据库存取对象变量(Data Access Object Variable),直接调用ODBC 2.0 API接口函数等三种访问数据库的方法。对其标准内置的Ms Access数据库,它可以提供不弱于专业数据库软件的支持,可以进行完整的数据库维护、操作及其事务处理。在VB,将非Access数据库称为外来数据库。对于FoxPro、dBASE、Paradox等外来数据库。虽然借助VB的Data Manager 能够对这些数据库进行NEW、OPEN、DESIGN、DELETE等操作,但在应用程序的运行状态并不能从底层真正实现这些功能。本文从使用数据库存取对象变量的方法发,实现了非Access格式数据库(以FoxPro数据库为例)的建新库、拷贝数据库结构、动态调入等操作,阐述了从编程技巧上弥补VB对这些外来数据库支持不足的可行性 。 一 、 VB数据库的体系结构具体的VB数据库结构。 VB数据库的核心结构是所谓的MicroSoft JET数据库引擎,JET引擎的作用就像是一块"面 板",在其上可以插入多种ISAM(Indexed Sequential Access Method,即索引顺序存取方 法) 数据驱动程序。JET引擎为Access格式数据库提供了直接的内部(build-in)支持,这就是VBAccess数据库具有丰富支持的真正原因。 VB专业版提供了FoxPro、dBASE(或 Xbase)、Paradox、Btrieve等数据库的ISAM驱动程序,这就使得VB能支持这些数据库格 式。另外,其他的许多兼容ISAM的驱动程序也可以通过从厂商的售后服务得到。因而从理论上说,VB能支持所有兼容ISAM的数据库格式(前提是只需获得这些数据库的ISAM驱动接口程序)。 由上可见,Ms JET引擎实质上提供了:一个符合ANSI标准的语法分析器;为查询结果集的使用而提供的内存管理功能;同所支持的数据库的外部接口;为应用代码提供的内部接口。实际上,在VB从一种数据库类型转化为另一种数据库类型几乎不需要或只需要很少的代码修改。而且,尽管dBASE、Paradox本身的DDL (Data Definition Language,即数据定义语言)和DML(Data Manipulation Language,即数据操纵语言)是非结构化查询的,但它们仍然可以使用VBSQL语句和JET引擎来操纵。 从VB的程序代码的角度来看,ODBC,ISAM驱动程序以及Ms Access数据库的整个外部结构够可以统一为一个一致的编程接口。也即是说,提供给VB应用程序员的记录集对象视图同所使用的数据库格式及类型是相互独立的。即对FoxPro等数据库仍然可以使用众多的数据库存取对象变量,这就为非Access数据库的访问提供了最重要的方法。   二 、使用非Access数据库时的参数设置及配置文件的参数读取如果在VB的程序使用了数据库的操作,将应用程序生成EXE文件或打包生成安装程序后,则必须提供一个配置 (.INI)文件,在INI文件可以对不同类型的数据库进行设置。如果找不到这个INI文件, 将会导致不能访问数据库。通常情况下,INI文件的文件名和应用程序的名称相同,所以如果没有指明,VB的程序会在Windows子目录去找和应用程序同名的INI文件。可以使用VB的SetDataAccessOptions语句来设置INI文件。 SetDataAccessOptions语句的用法如下:SetDataAccessOptions 1 ,IniFileName其IniFileName参数指明的是INI文件的带路径的文件名。值得注意的是,当应用程序找不到这个INI文件时,或在调用 OpenDataBase函数时对其Connect参数值没有设定为VB规定的标准值,如对FoxPro 2.5格式设定为了" FoxPro;"(应为" FoxPro 2.5; "),或者没有安装相应的ISAM驱动程序,则此时VB会显示一条错误信息" Not Found Installable ISAM "。通常,INI文件在应用程序分发去以前已经生成,或者在安装时动态生成,也可以在应用程序自己生成。 通常这种 INI文件有" [Options]"、"[ISAM]"、" [Installed ISAMs]"、"[FoxPro ISAM]"、"[dBASE ISAM] " 、" [Paradox ISAM] "等设置段,对于一个完整的应用程序则还应有一个属于应用 程序自己的设置段如" [MyDB]”。可在其设置DataType、Server、DataBase、 OpenOnStartup、DisplaySQL、QueryTimeOut等较为重要的数据库参数,并以此限定应用程序一般的运行环境。 Windows API接口函数在Kernel.exe动态链接库提供了一个OSWritePrivateProfileString函数,此函数能按Windows下配置文件(.INI)的书写格式写入信息。 在通常情况下,应用程序还需要在运行时读取配置文件内相关项的参数。比如PageTimeOut(页加锁超时时限)、MaxBufferSize(缓冲区大小)、LockRetry(加锁失败时重试次数)等参数,通过对这些参数的读取对应用程序运行环境的设定、潜在错误的捕获等均会有很大的改善。 设此应用程序的配置文件为MyDB.INI,则具体过程如下:Funtion GetINIString$( Byval Fname$ ,Byval szItem$ ,Byval szDeFault$ ) ' 此自定义子函数实现INI 文件内设置段内参数的读取Dim Tmp As String,x As Integer Tmp = String( 2048,32 ) x = OSGetPrivateProfileString(Fname$,szItem$ , szDefault$,Tmp,Len(Tmp) ," MyDB.INI " ) GetINIString = Mid$( Tmp,1,x ) EndFunction以下这些函数的声明可写在模块文件内,且每个函数的声明必须在一行内Declare Function OSGetPrivateProfileString% Lib "Kernel" Alias "GetPrivateProfileString" (ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal ReturnString$, ByVal NumBytes As Integer, ByVal FileName$) Declare Function OSWritePrivateProfileString% Lib "Kernel" Alias "WritePrivateProfileString" (ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal FileName$) Declare Function OSGetWindowsDirectory% Lib "Kernel" Alias "GetWindowsDirectory" (ByVal a$, ByVal b%) Sub Form1_Load( ) Dim st As String Dim x As Integer Dim tmp As String tmp = String$( 255, 32 ) ' INI文件内为各种数据库格式指明已安装的相应ISAM驱动程序x = OSWritePrivateProfileString(" Installable ISAMS", "Paradox 3.X", "PDX110.DLL", "MyDB.INI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "dBASE III", "XBS110.DLL", "MyDB.INI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "dBASE IV", "XBS110.DLL", "MyDB.INI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "FoxPro 2.0", "XBS110.DLL", "MyDB.INI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "FoxPro 2.5", "XBS110.DLL", "MyDB.INI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "Btrieve", "BTRV110.DLL", "MyDB.INI" ) x = OSWritePrivateProfileString( "dBase ISAM", "Deleted", "On", "MyDB.INI" ) ' 指明 INI文件的位置x = OSGetWindowsDirectory( tmp, 255 ) st = Mid$( tmp, 1, x ) SetDataAccessOption 1, st + "\mydb.ini" '获得INI文件一些参数 gwMaxGridRows = Val(GetINIString( " MyDB.INI " ,"MaxRows", "250" )) glQueryTimeout = Val(GetINIString( " MyDB.INI " ,"QueryTimeout", "5" )) glLoginTimeout = Val(GetINIString( " MyDB.INI " ,"LoginTimeout", "20" )) End Sub   三 、数据存取对象变量对外来数据库编程的方法及其实例在VB专业版数据库编程的三种方法,第二种-使用数据库存取对象变量(DAO)的方法最具有功能强大、灵活的特点。 它能够在程序存取ODBC 2.0的管理函数;可以控制多种记录集类型:Dynaset,Snapshot 及Table记录集合对象;可以存储过程和查询动作;可以存取数据库集合对象,例如 TableDefs,Fields,Indexes及QueryDefs;具有真正的事物处理能力。因而,这种方法对数据库处理的大多数情况都非常适用。 由于VB的记录集对象与所使用的数据库格式及类型是相互独立的,所以在非Access数据库也可以使用数据库存取对象变量的方法。因而 对FoxPro等外来数据库而言,使用数据库存取对象变量的方法同样也是一种最佳的选择。 有一点需要注意的是,VB的标准版仅能使用数据控件(Data Control)对数据库的记录进行访问,主要的数据库存取对象也仅有Database、Dynaset对象可通过数据控件的属 性提供,其它的重要对象如TableDef、Field、Index、QueryDef、Snapshot、Table等均不能在VB的标准版生成,所以使用数据存取对象变量的方法只能用VB 3.0以上的专业版。 (一)、非Access数据库的新建及库结构的修改VB专业版数据库存取对象变量可以分为两类,一类用于数据库结构的维护和管理,另一类用于数据的存取。其表示数据库结构时可以使用下面的对象: DataBase、TableDef、Field、Index,以及三个集合 (Collection): TableDefs、Fields和Indexes 。每一个集合都是由若干个对象组成的,这些数据对象的集合可以完全看作是一个数组,并按数组的方法来调用。一旦数据库对象建立后,就可以用它对数据库的结构进行修改和数据处理。对于非Access数据库,大部分都是对应于一个目 录,所以可以使用VB的MkDir语句先生成一个目录,亦即新建一个数据库。而每一个非 Access数据库文件可看作是此目录下的一个数据表(Table),但实际上它们是互相独立的。 下面是新建一个FoxPro 2.5格式数据库的程序实例。 Sub CreateNew ( ) Dim Db1 As database , Td As TableDefs Dim T1 As New Tabledef , F1 As New Field , F2 As New Field , F3 As New Field Dim Ix1 As New Index Dim Path As String Const DB_TEXT = 10 , DB_INTEGER = 3 ChDir "\" Path$ = InputBox( " 请输入新路径名: ", "输入对话框" ) MkDir Path$ ' 新建一个子目录Set Db1 = OpenDatabase(Path$, True, False, "FoxPro 2.5;") Set Td = Db1.TableDefs T1.Name ="MyDB" '新建一个数据表,数据表名为MyDB F1.Name = "Name" , F1.Type = DB_TEXT , F1.Size = 20 F2.Name = "Class" , F2.Type = DB_TEXT , F2.Size = 20 F3.Name = "Grade" , F3.Type = DB_INTEGER T1.Fields.Append F1 '向数据添加这些字段T1.Fields.Append F2。
完整清晰版 PDF ,有目录。共 120MB,分为四个分卷 Access 2007 VBA宝典 作者:(美)费德玛(Feddema,H.) 著,张波,陈江红,苏丽译 版社:人民邮电版社 版日期:2008-6-1 ISBN:9787115175984 字数:843000 页数:473 -------------------------------------------------------------------------------- 使用VBA代码链接Office应用程序   同步Access和Outlook联系人   简化任务并提高生产率。   充分利用Access 2007的全部功能   充分利用Access 2007的全部功能   在各个Microsoft Office应用程序之间无缝地传递Access数据,这只是针对初学者。在这本由知名AcceSS专家HeIen Feddema撰写的全新并且全面的指南。您可以学习编写Vi-sual Basic代码,从而自动执行Access数据库任务、创建独立脚本、提取及合并数据,而且可以将各种强大的解决方案结合起来,从而提高在Office家族成员间工作时的效率。无论您是初学者还是有经验的用户,本书都是您成功驾驭Access 2007 的必备书籍。   ·在Word、Excel和Outlook之间操作并共享Access数据:   ·从Access创建Word文档;   ·编写VBA代码来自动执行数据库任务;   ·创建Access窗体,作为数据交换的控制面板:   ·使用COM和Access加载项添加功能;   ·使用SQL Server数据:   ·使用XML自定义Access 2007功能区。   在各个Microsoft Office应用程序之间无缝地传递Access数据,这只是针对初学者。在这本由知名Access专家Helen Feddema撰写的全新并且全面的指南,您可以学习编写Visual Basic代码。从而自动执行Access数据库任务、创建独立脚本、提取及合并数据,而且可以将各种强大的解决方案结合起来,从而提高在Office家族成员间工作时的效率。无论您是初学者还是有经验的用户。本书都是您成功驾驭Access 2007的必备书籍。 内容提要 -------------------------------------------------------------------------------- Access是Microsoft公司Office办公套件数据库应用程序,而Access VBA是Access的编程语言。利用VBA不仅能够设计常用的小工具、小软件,还能够编写代码,让很多程序共享数据。本书全面介绍了Access VBA的应用。首先介绍各种Office组件及其用途,然后详细介绍了这些组件,以及如何在组件之间共享各种数据;最后介绍了更为高级的主题,包括VB 6.0、Access加载项、Visual Studio 2005共享加载项、使用XML实现自定义Office 2007功能区,以及与SQL Server数据库的交互等。   本书内容丰富,并且在配套网站上提供了书所有的示例文件和代码,有助于读者通过亲身实践掌握Access VBA的强大功能。本书适合Office的高级用户以及希望学习Access VBA的人员参考。 目录 -------------------------------------------------------------------------------- 第1部分 Office组件及其最佳用途  第1章 在Access存储和显示数据   1.1 Office数据交换简史   1.2 在Access存储数据   1.3 在Access窗体和报显示数据    1.3.1 创建Access套用信函    1.3.2 在Access创建工作表类型的报表   1.4 小结  第2章 从Access创建Word文档   2.1 使用TypeText.方法为Word文档填充Access数据   2.2 使用Word模板创建格式化的Word文档    2.2.1 书签    2.2.2 文档属性   2.3 窗体域文档   2.4 小结  第3章 使用Excel分析数据   3.1 将Access数据导到未格式化的工作表   3.2 使用Excel模板创建填充了Access数据的格式化工作表   3.3 使用VBA代码对Excel工作表进行格式化   3.4 小结  第4章 使用Outlook进行组织和通信   4.1 将约会和任务导到Outlook   4.2 将日记信息导到Ou
完整清晰版 PDF ,有目录。共 120MB,分为四个分卷 Access 2007 VBA宝典 OFFICE2007 OFFICE Access 2007 VBA宝典 3/4 作者:(美)费德玛(Feddema,H.) 著,张波,陈江红,苏丽译 版社:人民邮电版社 版日期:2008-6-1 ISBN:9787115175984 字数:843000 页数:473 -------------------------------------------------------------------------------- 使用VBA代码链接Office应用程序   同步Access和Outlook联系人   简化任务并提高生产率。   充分利用Access 2007的全部功能   充分利用Access 2007的全部功能   在各个Microsoft Office应用程序之间无缝地传递Access数据,这只是针对初学者。在这本由知名AcceSS专家HeIen Feddema撰写的全新并且全面的指南。您可以学习编写Vi-sual Basic代码,从而自动执行Access数据库任务、创建独立脚本、提取及合并数据,而且可以将各种强大的解决方案结合起来,从而提高在Office家族成员间工作时的效率。无论您是初学者还是有经验的用户,本书都是您成功驾驭Access 2007 的必备书籍。   ·在Word、Excel和Outlook之间操作并共享Access数据:   ·从Access创建Word文档;   ·编写VBA代码来自动执行数据库任务;   ·创建Access窗体,作为数据交换的控制面板:   ·使用COM和Access加载项添加功能;   ·使用SQL Server数据:   ·使用XML自定义Access 2007功能区。   在各个Microsoft Office应用程序之间无缝地传递Access数据,这只是针对初学者。在这本由知名Access专家Helen Feddema撰写的全新并且全面的指南,您可以学习编写Visual Basic代码。从而自动执行Access数据库任务、创建独立脚本、提取及合并数据,而且可以将各种强大的解决方案结合起来,从而提高在Office家族成员间工作时的效率。无论您是初学者还是有经验的用户。本书都是您成功驾驭Access 2007的必备书籍。 内容提要 -------------------------------------------------------------------------------- Access是Microsoft公司Office办公套件数据库应用程序,而Access VBA是Access的编程语言。利用VBA不仅能够设计常用的小工具、小软件,还能够编写代码,让很多程序共享数据。本书全面介绍了Access VBA的应用。首先介绍各种Office组件及其用途,然后详细介绍了这些组件,以及如何在组件之间共享各种数据;最后介绍了更为高级的主题,包括VB 6.0、Access加载项、Visual Studio 2005共享加载项、使用XML实现自定义Office 2007功能区,以及与SQL Server数据库的交互等。   本书内容丰富,并且在配套网站上提供了书所有的示例文件和代码,有助于读者通过亲身实践掌握Access VBA的强大功能。本书适合Office的高级用户以及希望学习Access VBA的人员参考。 目录 -------------------------------------------------------------------------------- 第1部分 Office组件及其最佳用途  第1章 在Access存储和显示数据   1.1 Office数据交换简史   1.2 在Access存储数据   1.3 在Access窗体和报显示数据    1.3.1 创建Access套用信函    1.3.2 在Access创建工作表类型的报表   1.4 小结  第2章 从Access创建Word文档   2.1 使用TypeText.方法为Word文档填充Access数据   2.2 使用Word模板创建格式化的Word文档    2.2.1 书签    2.2.2 文档属性   2.3 窗体域文档   2.4 小结  第3章 使用Excel分析数据   3.1 将Access数据导到未格式化的工作表   3.2 使用Excel模板创建填充了Access数据的格式化工作表   3.3 使用VBA代码对Excel工作表进行格式化   3.4 小结  第4章 使用Outlook进行组织和通信

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧