.mdb.access数据库VBA-在已有的数据库中创建数据表(DAO) |
| 时间:2025-01-20 08:51:34 来源: 作者: |
在已有的数据库中创建数据表(DAO)引用DAO对象库:microsoft DAO 3.6 object libraryY80七二检测 代码:Y80七二检测 public sub1_4()Y80七二检测 dim mydb as dao.database ‘ 定义DAO的database(数据库)对象变量Y80七二检测 dim mydata as string ‘定义数据库名称变量Y80七二检测 dim mytable as string ‘定义数据表名称变量Y80七二检测 Y80七二检测 ‘设置数据库名称(包括完整路径)Y80七二检测 mydata=thisworkbook.path & “\学生成绩管理.mdb”Y80七二检测 Y80七二检测 ‘设置要创建的数据表名称Y80七二检测 mytable=”期末成绩”Y80七二检测 ‘打开数据库Y80七二检测 set mydb=opendatabase(mydata)Y80七二检测 ‘删除数据库中已经存在的数据表Y80七二检测 mydb.tabledefs.delete mytableY80七二检测 ‘创建新的数据表Y80七二检测 set mytbl=mydb.createtabledef(mytable)Y80七二检测 ‘为创建的数据表添加各个字段Y80七二检测 With mytblY80七二检测 .fields.append .createfield("学号", dbtext, 10)Y80七二检测 .fields.append .createfield("姓名", dbtext, 6)Y80七二检测 .fields.append .createfield("性别", dbtext, 1)Y80七二检测 .fields.append .createfield("班级", dbtext, 10)Y80七二检测 .fields.append .createfield("数学", dbsingle)Y80七二检测 .fields.append .createfield("语文", dbsingle)Y80七二检测 .fields.append .createfield("物理", dbsingle)Y80七二检测 .fields.append .createfield("化学", dbsingle)Y80七二检测 .fields.append .createfield("英语", dbsingle)Y80七二检测 .fields.append .createfield("总分", dbsingle)Y80七二检测 end withY80七二检测 ‘将创建的数据表添加到数据库的TableDefs集合中Y80七二检测 mydb.tabledefs.append mytblY80七二检测 ‘关闭数据库Y80七二检测 mydb.closeY80七二检测 ‘释放变量Y80七二检测 set mydb=nothingY80七二检测 set mytbl=nothingY80七二检测 ‘弹出信息Y80七二检测 msgbox”数据表<” & mytable & “>创建成功!”,vbinformation,”创建数据表”Y80七二检测 end subY80七二检测
·补充:opendatabase方法用来打开一个已有的数据库,返回一个数据库对象,并自动将该数据库对象加入到数据库对象集中。Y80七二检测 set database=workspace.opendatabase(databasename,options,read-only,connect)Y80七二检测 workspace:定义的Workspace类型变量,它表示所使用的工作环境,将包含新的数据库对象Y80七二检测 databasename:一个有效的Jet数据库文件或ODBC数据源Y80七二检测 options:T/F,T表示以独占方式打开数据库,而F表示以共享方式打开数据库Y80七二检测 read-only:是否以只读方式打开数据库,为T/FY80七二检测 connect:说明不同连接方式以及密码
·扩展:利用DAO打开有密码的Access数据库set mydb=opendatabase(mydata,true,false,”;pwd=12345”)Y80七二检测 |
|
|
|