分享

Access/VBA/Excel-Access表及字段创建-03

 L罗乐 2017-06-10

系统:Windows 10
软件:Excel 2010 / Access 2010

  • 这个系列开展一个新的篇章,重点关注Access数据库

  • 主体框架:以Excel作为操作界面,Access作为数据库

  • 今天讲讲如何新建工作表字段(列)

  • 涉及知识:ADOSQL

今日歌曲:

Part 1:前面的话

  1. 对Access数据库的大部分操作都可以通过SQL语言来实现

  2. SQL:Structure Query Language,结构化查询语言,语法简单,非常容易学

  3. SQL语言的执行可借助于ADOADO本身也支持对数据库的各种操作,但是涉及到一些其它知识的学习

  4. 这个系列中,除非无法用SQL来实现,否则会使用SQL

  5. SQL作为数据库操作的通用语言,学会了后也可用于对其它数据库的操作,那也是极好的

Part 2:本篇目标

  1. 对已有空白数据库创建一个数据表

  2. 根据要求创建新的字段,指定字段的约束

  3. 基本逻辑过程:

    • 连接数据库

    • 确定SQL语句

    • 执行SQL语句

    • 根据需求重复上面两步

    • 关闭数据库的连接

  4. 记得引用Microsoft ActiveX Data Objects 2.8 Library

Part 3:代码


Sub test()    Dim cnn As New ADODB.Connection '连接    Dim rs As New ADODB.Recordset    Dim SQL As String    Dim tblName    Dim dbAddr    dbAddr = ThisWorkbook.Path & '\学生信息.accdb'    tblName = '学生信息表'    '连接数据库    With cnn        .Provider = 'Microsoft.ACE.OLEDB.12.0'        .Open 'Data Source=' & dbAddr    End With    SQL = 'CREATE TABLE ' & tblName & ' (ID AUTOINCREMENT primary key)'    Set rs = cnn.Execute(SQL)    field1 = '姓名  text(6)'    field2 = '学号  single'    field3 = '性别  text(1)'    SQL = 'ALTER TABLE ' & tblName & ' ADD ' & field1 & ',' & field2 & ',' & field3    Set rs = cnn.Execute(SQL)    cnn.Close    Set rs = Nothing    Set cnn = Nothing End Sub

执行结果:新建表

执行结果:新建字段

Part 4:部分代码解读

  1. ADO连接不同数据库采用不同引擎

    • Microsoft.ACE.OLEDB.12.0 连接Access

    • 老版本的Access(.mdb后缀的)可以使用引擎 Microsoft.Jet.OLEDB.4.0

  2. CREATE TABLE ' & tblName & ' (ID AUTOINCREMENT primary key)创建了一个工作表,并设置一个字段(主键,唯一且自增)

    • CREATE TABLE 工作表名称 (字段信息),中文释义可以理解为:新建数据表XX,字段XX且为主键

    • ID这个字段每增加一行记录,会自增1,设为主键

  3. SQL = 'ALTER TABLE ' & tblName & ' ADD ' & field1 & ',' & field2 & ',' & field3,新增字段

    • ALTER,修改,上面的SQL中文释义可以理解为,修改数据表XX增加字段XX,其实还是比较直白的

  4. field2 = '学号  single',设置字段特性,字段名称为学号,类型为Single,单精度实数

  5. Set rs = cnn.Execute(SQL),运行该SQL语句

字段约束


主键官方定义:

主键是表中的一个字段或字段集,为每条记录提供一个唯一的标识符。
在数据库中,请将信息划分到基于主题的不同表中。
然后,使用表关系和主键以指示 Access 如何将信息再次组合起来。
Access 使用主键字段将多个表中的数据迅速关联起来,并以一种有意义的方式将这些数据组合在一起。


小结:想对数据库的操作转化为对应的SQL语句,然后运行,搞定


以上为本次的学习内容,下回见

本文为原创作品,如若转载请标明出处,如发现有错误,欢迎留言指出


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多