对象变量或 With 块变量未设置
我是初学者,按照书本上的方法去学习和试验
书本内容如下:
<用代码建立数据库文件>
在Visual Basic的应用程序中,还可以通过编写代码来建立一个数据库文件,以及对数据库进行索引、查询等许多操作。这样就需要用到几个心的对象,如“DataBase”、“TableDef”、“Field”等,这些被统称为数据库存取对象 DAO(Data Access Object)。DBEngine是DAO的最高层接口,在它下面可以生成一个Workspace对象**,可以利用某一个Workspace对象的CreateDatabase方法建立心的数据库文件。首先要定义对象变量,例如:
dim ws as workspace
dim DB as database '指明用WS代表DBEngine生成的哪个 Workspace 。
set WS=DBEngine.workspace(0)
在上列中将工作环境定义为使用 DBEngine 的 Workspace (0) 对象,实际这个对象是缺省值,不定义也将使用该对象,但当使用其他对象时,如 Workspace (1) ,就必须重新定义。
利用Workspace的 CreateDatabase方法来创建数据库文件,其语法格式为:
Set database = Workspace.CreateDatabase(name,local[,Option])
其中,Database 为已定义的数据库类型变量,代表新建立的数据库对象。
Workspace 为已定义 Workspace 类型变量,表示所使用的工作环境,包含新的数据库对象。
name 为将要新建的数据库文件路径和名称。
Local 该表达式用来指定字符串比较的规则,一般按英文字母顺序比较,可以指定为 dbLanggeneral 。
option 该项为可选项,用来指定数据格式的版本及数据库是否解密,一般情况下,可以不指定此项。
例如,要在 D 盘 tsgl 目录下建立一个名为 xxjs_book的数据库文件,可采用如下代码来实现:
dim WS as Workspace
dim DB as Database
set DB = WS.CreateDatabase("D:\tsgl\xxjs_book",dblanggeneral)
******************书本内容结束*********************
但是我做了,却提示错误,后来引用了 microsoft DAO 3.6 object library
又提示:对象变量或 With 块变量未设置
弄多了,有时候提示 :vb 找不到可安装的 ISAM
希望有人能帮我解决,非常感谢..
[解决办法]
CreateDatabase Method Example
'This example uses CreateDatabase to create a new, encrypted Database object.Sub CreateDatabaseX() Dim wrkDefault As Workspace Dim dbsNew As DATABASE Dim prpLoop As Property ' Get default Workspace. Set wrkDefault = DBEngine.Workspaces(0) ' Make sure there isn't already a file with the name of ' the new database. If Dir("NewDB.mdb") <> "" Then Kill "NewDB.mdb" ' Create a new encrypted database with the specified ' collating order. Set dbsNew = wrkDefault.CreateDatabase("NewDB.mdb", _ dbLangGeneral, dbEncrypt)With dbsNew Debug.Print "Properties of " & .Name ' Enumerate the Properties collection of the new ' Database object. For Each prpLoop In .Properties If prpLoop <> "" Then Debug.Print " " & _ prpLoop.Name & " = " & prpLoop Next prpLoop End With dbsNew.CloseEnd Sub