各位大人求救 感激不尽

szyhy810518 2003-05-09 09:55:14
在VB中建立ACCESS数据库文件,改文件类型,加密码
并创建几个表结构
...全文
121 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Quady515 2003-05-09
  • 打赏
  • 举报
回复
查查ado的帮助吧,应该用AdoX,很简单.
qingming81 2003-05-09
  • 打赏
  • 举报
回复
我这里现在只有创建数据库及表的代码(改文件类型及加密码的没有),如下:
'创建数据库
Public Sub CreateNewDatabase(DatabaseName As String)
Dim wrkDefault As Workspace
Dim dbsNew As Database

'申请缺省的工作空间。
Set wrkDefault = DBEngine.Workspaces(0)
'若已经存在和要创建的数据同名的文件则应删除。
If Dir(DatabaseName) <> "" Then Kill DatabaseName
'创建数据库
Set dbsNew = wrkDefault.CreateDatabase(DatabaseName, dbLangGeneral, dbEncrypt)
'关闭数据库
dbsNew.Close

End Sub

'创建表:
Public Sub CreateNewTable(DatabaseName As String, TableName As String, _
FieldCount As Integer, FieldName() As String, _
FieldType() As Integer, Fieldlength() As Integer)
Dim absOperated As Database
Dim tblNew As TableDef
Dim fldNew As Field
Dim i As Integer

'在工作区打开已有的数据库。
Set absOperated = Workspaces(0).OpenDatabase(DatabaseName)
Set tblNew = absOperated.CreateTableDef(TableName)

'把字段逐一加到所建表的字段集合中
For i = 1 To FieldCount

If Fieldlength(i) = 0 Then
Set fldNew = tblNew.CreateField(FieldName(i), FieldType(i))
Else
Set fldNew = tblNew.CreateField(FieldName(i), _
FieldType(i), Fieldlength(i))
End If

tblNew.Fields.Append fldNew

Next i

'把所建的表加到数据库的表集合中。
absOperated.TableDefs.Append tblNew
'关闭数据库
absOperated.Close

End Sub


'使用介绍:记住先引用Microsoft ActiveX Data Objects 2.0 Library或以上版本
Private sub Fomr_load()
dbName = App.Path & "\Databases\Mydatabase.mdb"
CreateNewDatabase dbName
end sub
'创建表并加入记录
Private Sub cmdAddNewRecord_Click()
Dim dbName As String
Dim NameArray(8) As String
Dim TypeArray(8) As Integer
Dim LengthArray(8) As Integer
Dim ValueArray(8) As Variant

Dim i As Integer
Dim Response As String

NameArray(1) = "姓名": TypeArray(1) = dbText: LengthArray(1) = 0
NameArray(2) = "性别": TypeArray(2) = dbText: LengthArray(2) = 2
NameArray(3) = "职称": TypeArray(3) = dbText: LengthArray(3) = 16
NameArray(4) = "工作单位": TypeArray(4) = dbText: LengthArray(4) = 40
NameArray(5) = "学位": TypeArray(5) = dbText: LengthArray(5) = 10
NameArray(6) = "毕业院校及专业": TypeArray(6) = dbText: LengthArray(6) = 40
NameArray(7) = "出生日期": TypeArray(7) = dbDate: LengthArray(7) = 0
NameArray(8) = "工资": TypeArray(8) = dbText: LengthArray(8) = 0

dbName = App.Path & "\Databases\Mydatabase.dbf"

If Dir(App.Path & "\databases", vbDirectory) = "" Then
MkDir App.Path & "\databases"
End If

CreateNewDatabase dbName
CreateNewTable dbName, "ThisTable", 8, NameArray(), TypeArray(), LengthArray()

Response = vbYes

While Response = vbYes

For i = 1 To 8
DoEvents
ValueArray(i) = InputBox((NameArray(i)), _
"按正确格式输入记录中的字段的值")
Next i

AddNewRecord dbName, "ThisTable", 8, NameArray(), ValueArray()
Response = MsgBox("该记录已经加入到表中,还要加入记录吗?", vbYesNo)

Wend

End Sub

foko_zl 2003-05-09
  • 打赏
  • 举报
回复
DAO 可能更简单些。DAO.DataBase 对象有相应的方法:
'使用前记得引用DAO

dim db as DAO.Database,tbl as DAO.TableDef

set db=DBEngine.CreateDataBase(... ) '建库
'改文件类型(???)
set tbl=db.CreateTableDef(...) '建表
tbl.CreateField(...) ' 建字段
tbl.Fields(0)="asdfasdf"
...
db.NewPassword '加数据库密码

1,216

社区成员

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

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