Microsoft
Access
提供了多种方法来创建
Access
数据库,
其中最为典型的有:
1
使用模板创建数据库
2
在“文件”选项卡上,单击“新建”,然后单击“空数据库”。接着通过生成自己的表、窗体、报表和其他数据库对象来创建数据库。
3
将其他源中的数据导入到
Access
表中
4
使用SQL语句创建数据库
方法/步骤
1
首先我们打开电脑,找到access,鼠标双击打开。
2
进入access软件后,我们点击新建,选择空数据库。
3
紧接着,我们就要为这个数据库命名了,在左下方输入名称,并选择路径。
4
再然后,我们就可以点击创建按钮了,一个空的数据库就建好了。
5
下面我们就要为数据库添加点东西了,那就添加个表吧,点击创建,选择表。
6
接下来,我们鼠标点击(单击以添加),选择要添加的数据类型。
7
填写好数据类型,并把要记录的数据填入表格中即可,保存退出,这样一个简单的数据库就建好了。
在access里面用罗斯文数据库实例建立个或自己建一个:
1、启动ACCESS建空数据库,取名“学生管理”。
2、建一个表,如果有excel数据可直接导入或在设计视图里面建表,字段名:学号、姓名、性别、出生日期(在里面限定》1988-1-1')、家庭住址。取名“学生档案”至于记录,自己输入几个人的情况。
3、建一个表取名“学生成绩”,字段名:学号、课程A、课程B、课程C、课程D、课程E。至于记录,自己输入几个人的情况。
4、,5、建关联的查询。在查询设计视图中将“学生档案”的学号拖到“学生成绩”的学号字段上。sql语句为:SELECT 学生档案学号, 学生档案姓名, [学生成绩]![课程A]+[学生成绩]![课程B] AS 总成绩 FROM 学生档案 INNER JOIN 学号 ON 学生档案学号 = 学生成绩学号,可以查询学生成绩。
6、sql语句为:SELECT 学生档案学号, 学生档案姓名, [学生成绩]![课程A],[学生成绩]![课程B] FROM 学生档案 where ((year(now)-year(出生日期)>20 INNER JOIN 学号 ON 学生档案学号 = 学生成绩学号
7、用以更新查询即可。
8、建一窗体(设计视图)里面建一些说明标签,一些功能按钮:按钮的单击事件调用相应的宏事件(或用VBA代码)调用需要的查询,取名“主窗体”。
一个简单的数据库就建好了。access功能很多,一句两句说不清楚,找本教材看看。
ws软件开发平台,Visual Basic专业版提供了对数据库应用的强大支持。尤其提供了使用数据控件和绑定控制项,使用数据库存取对象变量(Data Access Object Variable),直接调用ODBC 20 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)支持,这就是VB对Access数据库具有丰富支持的真正原因。
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,即数据 *** 纵语言)是非结构化查询的,但它们仍然可以使用VB的SQL语句和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 25格式设定为了" FoxPro;"(应为" FoxPro 25; "),或者没有安装相应的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接口函数在Kernelexe动态链接库中提供了一个OSWritePrivateProfileString函数,此函数能按Windows下配置文件(INI)的书写格式写入信息。
在通常情况下,应用程序还需要在运行时读取配置文件内相关项的参数。比如PageTimeOut(页加锁超时时限)、MaxBufferSize(缓冲区大小)、LockRetry(加锁失败时重试次数)等参数,通过对这些参数的读取对应用程序运行环境的设定、潜在错误的捕获等均会有很大的改善。
设此应用程序的配置文件为MyDBINI,则具体过程如下: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) ," MyDBINI " ) GetINIString = Mid$( Tmp,1,x ) End
Function以下这些函数的声明可写在模块文件内,且每个函数的声明必须在一行内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 3X", "PDX110DLL", "MyDBINI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "dBASE III", "XBS110DLL", "MyDBINI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "dBASE IV", "XBS110DLL", "MyDBINI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "FoxPro 20", "XBS110DLL", "MyDBINI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "FoxPro 25", "XBS110DLL", "MyDBINI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "Btrieve", "BTRV110DLL", "MyDBINI" ) x = OSWritePrivateProfileString( "dBase ISAM", "Deleted", "On", "MyDBINI" ) ' 指明 INI文件的位置x = OSGetWindowsDirectory( tmp, 255 ) st = Mid$( tmp, 1, x ) SetDataAccessOption 1, st + "/mydbini" '获得INI文件一些参数 gwMaxGridRows = Val(GetINIString( " MyDBINI " ,"MaxRows", "250" )) glQueryTimeout = Val(GetINIString( " MyDBINI " ,"QueryTimeout", "5" )) glLoginTimeout = Val(GetINIString( " MyDBINI " ,"LoginTimeout", "20" )) End Sub
三 、数据存取对象变量对外来数据库编程的方法及其实例在VB专业版数据库编程的三种方法中,第二种-使用数据库存取对象变量(DAO)的方法最具有功能强大、灵活的特点。 它能够在程序中存取ODBC 20的管理函数;可以控制多种记录集类型:Dynaset,Snapshot 及Table记录集合对象;可以存储过程和查询动作;可以存取数据库集合对象,例如 TableDefs,Fields,Indexes及QueryDefs;具有真正的事物处理能力。因而,这种方法对数据库处理的大多数情况都非常适用。
由于VB中的记录集对象与所使用的数据库格式及类型是相互独立的,所以在非Access数据库中也可以使用数据库存取对象变量的方法。因而 对FoxPro等外来数据库而言,使用数据库存取对象变量的方法同样也是一种最佳的选择。 有一点需要注意的是,VB的标准版中仅能使用数据控件(Data Control)对数据库中的记录进行访问,主要的数据库存取对象中也仅有Database、Dynaset对象可通过数据控件的属 性提供,其它的重要对象如TableDef、Field、Index、QueryDef、Snapshot、Table等均不能在VB的标准版中生成,所以使用数据存取对象变量的方法只能用VB 30以上的专业版。
(一)、非Access数据库的新建及库结构的修改VB专业版中的数据库存取对象变量可以分为两类,一类用于数据库结构的维护和管理,另一类用于数据的存取。其中表示数据库结构时可以使用下面的对象:
DataBase、TableDef、Field、Index,以及三个集合 (Collection): TableDefs、Fields和Indexes 。每一个集合都是由若干个对象组成的,这些数据对象的集合可以完全看作是一个数组,并按数组的方法来调用。一旦数据库对象建立后,就可以用它对数据库的结构进行修改和数据处理。对于非Access数据库,大部分都是对应于一个目 录,所以可以使用VB的MkDir语句先生成一个目录,亦即新建一个数据库。而每一个非 Access数据库文件可看作是此目录下的一个数据表(Table),但实际上它们是互相独立的。
下面是新建一个FoxPro 25格式数据库的程序实例。
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 25;") Set Td = Db1TableDefs T1Name =
"MyDB" '新建一个数据表,数据表名为MyDB F1Name = "Name" , F1Type = DB_TEXT , F1Size = 20 F2Name = "Class" , F2Type = DB_TEXT , F2Size = 20 F3Name = "Grade" , F3Type = DB_INTEGER T1FieldsAppend F1 '向数据表中添加这些字段T1FieldsAppend F2
access:
<add key="ConnProvider"
value="Provider=MicrosoftJetOLEDB40; Data Source=|DataDirectory|amdb;Jet OleDB:Database Password=123" />
你直接将amdb数据库文件放在网站的App_Data 文件下就行了,这种路径的获取避免了很多麻烦。
以上就是关于在Access2010中创建数据库有哪几种方法全部的内容,包括:在Access2010中创建数据库有哪几种方法、如何使用access建立数据库、实验五 ACCESS应用 实验要求: 1.创建一个名为“学生管理”的数据库。 2.创建一个“学生档案”数据表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)