资源描述:
《excelvba与数据库access整合笔记(2)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、笔记制作:加肥猫Email:jungj@163.comQQ:40347950220:00—21:00在线1-1利用DAO创建数据库和数据表1.首先建立对DAO对象库MicrosoftDAO3.6ObjectLibrary的引用.在VBA界面下:工具-à引用,选中”MicrosoftDAO3.6ObjectLibrary”2.代码:PublicSub1_1()DimmyDbAsDAO.Database‘定义DAO的Database(数据库)对象变量DimmyTblAsDAO.TableDef‘定义DAO的TableD
2、ef(数据表)对象变量DimmyDataAsString‘定义数据库名称变量DimmyTableAsString‘定义数据表名称变量‘设置要创建的数据库名称(包括完整路径)myData=ThisWorkbook.Path&“学生成绩管理.mdb”‘设置要创建的数据表名称myTable=”期末成绩”‘删除已经存在的数据库文件onerrorresumenextkillmyDataonerrorgoto0‘创建数据库SetmyDb=CreateDatabase(myData,dbLangChineseSimplifie
3、d)‘创建数据表SetmyTbl=myDb.CreateTableDef(myTable)‘为创建的数据表添加各个字段WithmyTbl.Fields.Append.CreateField(“学号”,dbText,10).Fields.Append.CreateField(“姓名”,dbText,6).Fields.Append.CreateField(“性别”,dbText,1).Fields.Append.CreateField(“班级”,dbText,10).Fields.Append.CreateField
4、(“数学”,dbSingle).Fields.Append.CreateField(“语文”,dbSingle).Fields.Append.CreateField(“物理”,dbSingle).Fields.Append.CreateField(“化学”,dbSingle).Fields.Append.CreateField(“英语”,dbSingle).Fields.Append.CreateField(“总分”,dbSingle)EndWith‘将创建的数据表添加到数据库的TableDefs集合中myDb.T
5、ableDefs.AppendmyTbl‘关闭数据库,并释放变量myDb.CloseSetmyDb=NothingSetmyTbl=Nothing笔记制作:加肥猫Email:jungj@163.comQQ:40347950220:00—21:00在线‘弹出信息MsgBox”创建数据库成功!”&vbCrLf&“数据库文件名为:”&myData&vbCrLf&“数据表名称为:”&myTable&vbCrLf&“保存位置:”&ThisWorkbook.Path,vbInformation,”创建数据库”Endsub注:·
6、CreateDatabase方法创建数据库setmydb=createdatabase(mydata,dblangchinesesimplified)mydb:数据库类型变量dblangchinesesimplified:表达字符串比较规则,这里为简体中文·CreateTableDef方法创建数据表SetmyTbl=mydb.Createtabledef(mytable)mytbl:表类型变量mydb:数据库名mytable:表名补充:创建带密码的Access数据库Setmydb=createdatabase(my
7、data,dblangchinesesimplified&“;pwd=12345”)1-2利用ADOX创建数据库和数据表:引用:microsoftADOExt.2.XforDDLandSecurity代码:publicsub1_2()dimmycatasnewadox.catalog‘定义ADOX的Catalog对象变量dimmytblasnewtable‘定义table对象变量dimmydataasstring‘定义数据库名称变量dimmytableasstring‘定义数据表名称变量‘设置要创建的数据库名称(包
8、括完整路径)mydata=thisworkbook.path&“学生成绩管理.mdb”‘设置要创建的数据表名称mytable=”期末成绩”‘删除已经存在的数据库文件onerrorresumenext笔记制作:加肥猫Email:jungj@163.comQQ:40347950220:00—21:00在线killmydataonerrorgoto0‘创建新的数