'为已经创建好的数据表添加字段
'参数:strDBPath 字符串型 数据库路径
'参数:strTableName 字符串型 需要创建的数据表的名称
'参数:strColumnName 字符串型 需要添加的字段名称
'参数:strColumnType 字符串型 需要添加的字段数据类型
Sub AddColumn(strDBPath, strTableName, strColumnName, strColumnType)
    Dim connObj
    Set connObj = CreateObject("ADODB.Connection")
    connObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source = " & strDBPath
    connObj.Execute "ALTER TABLE " & strTableName& vbCrLf & _
    "ADD " & strColumnName & " "& strColumnType
    connObj.Close
    Set connObj = Nothing
End Sub

'例子如下:

AddColumn "C:\Test.mdb", "TestTable", "测试添加字段", "varchar(255)"

'为C:\Test.mdb中的TestTable表添加 名称为 测试添加字段 数据类型为 字符串型 的字段

'删除字段
'参数跟上面的一样,就不多做介绍了,为什么是3个参数,删除字段,只要字段名称就完事了,扯不到数据类型。
Sub DeleteColumn(strDBPath, strTableName, strColumnName)
    Dim connObj
    Set connObj = CreateObject("ADODB.Connection")
    connObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source = " & strDBPath
    connObj.Execute "ALTER TABLE " & strTableName& vbCrLf & _
    "DROP COLUMN " & strColumnName
    connObj.Close
    Set connObj = Nothing
End Sub

'使用例子:
DeleteColumn "C:\Test.mdb", "TestTable", "测试添加字段"

'修改字段的数据类型
'参数同AddColumn
Sub AlterColumnType(strDBPath, strTableName, strColumnName, strColumnType)
    Dim connObj
    Set connObj = CreateObject("ADODB.Connection")
    connObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source = " & strDBPath
    connObj.Execute "ALTER TABLE " & strTableName& vbCrLf & _
    "ALTER COLUMN " & strColumnName & " " & strColumnType
    connObj.Close
    Set connObj = Nothing
End Sub

'使用例子:
AlterColumnType "C:\Test.mdb", "TestTable", "测试添加字段", "int"

'字段重命名
'参数:strDBPath 数据库所在路径
'参数:strTableName 表名称
'参数:strOldName 旧字段名
'参数:strNewName 新字段名
Sub AlterColumnName(strDBPath, strTableName, strOldName, strNewName)
    Dim catObj
    Set catObj = CreateObject("ADOX.Catalog")
    catObj.ActiveConnection="Provider=Microsoft.Jet.OLEDB.4.0;"& _
    "Data Source= " & strDBPath
    catObj.Tables(strTableName).Columns(strOldName) = strNewName
    Set catObj = Nothing
End Sub

'字段重命名并非是用的ADODB.Connection对象,而是用的ADOX.Catalog对象,也就是创建数据库的这个对象,如果认真读代码,并且认真了解过的人,一眼就看出怎么进行数据表重命名的操作了,我也就不用说了。

'使用例子
AlterColumnName "C:\Test.mdb", "TestTable", "测试添加字段", "测试修改"

'将C:\Test.mdb的TestTable表中的 "测试添加字段" 重命名 为 "测试修改"

'执行SQL语句
'留出一个直接用SQL进行数据表操作的函数。
'其实认真学习的人,自己随便都可以写了。
Sub TableExecuteSQL(strDBPath, strSQLCode)
    Dim connObj
    Set connObj = CreateObject("ADODB.Connection")
    connObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source = " & strDBPath
    connObj.Execute strSQLCode
    connObj.Close
    Set connObj = Nothing
End Sub

Dim connObj,rsObj
Set connObj = CreateObject("ADODB.Connection") 
'还是需要用到ADODB.Connection对象来进行数据库的连接
connObj.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=C:\Test.mdb"
'可以先把连接数据库的参数写到对象的ConnectionString属性中,Open的时候就可以不用写参数了。
connObj.Open
Set rsObj = CreateObject("ADODB.RecordSet") '数据的操作,主要靠的是ADODB.RecordSet对象
'好吧,打开数据表。
rsObj.Open "select * FROM TestTable", connObj, 1, 3
'关于参数 "select * FROM TestTable" 这就是SQL的语句了,意思是,FROM 从TestTable表中 打开select *任意字段名
'第二个参数就是已经连接好数据库的ADODB.Connection对象connObj
'第3个参数和第4个参数,100个帖子里面都是1,3,我也不知道具体啥意思,反正能用就可以了,有兴趣的自己百度ADODB.RecordSet研究去。
'我们先来添加一条数据
rsObj.AddNew 
'添加很简单,就AddNew就完事了,添加之后,就需要填入各字段的数据了。
If Not rsObj.Eof Then
rsObj("姓名") = "张三"
rsObj("性别") = "男"
rsObj("年龄") = 20
End If
'好了,这就填完了,简单吧,关于Eof属性,我在明天会详细介绍,百度上搜出来的东西,都太专业了,我都理解了好半天并且测试之后才玩懂了。
'我们多添加几条吧
rsObj.AddNew
If Not rsObj.Eof Then
rsObj("姓名") = "李四"
rsObj("性别") = "男"
rsObj("年龄") = 21
End If
rsObj.AddNew
If Not rsObj.Eof Then
rsObj("姓名") = "王二"
rsObj("性别") = "男"
rsObj("年龄") = 22
End If
'整个妹子吧
rsObj.AddNew
If Not rsObj.Eof Then
rsObj("姓名") = "小倩"
rsObj("性别") = "女"
rsObj("年龄") = 18
End If

'再整个不正常的
rsObj.AddNew
If Not rsObj.Eof Then
rsObj("姓名") = "骡子"
rsObj("性别") = "未知"
rsObj("年龄") = 2
End If
rsObj.Update '更新操作后的数据库。
'好了,添加数据,就暂时到这里。
'我们再来看看,打开时,直接查找数据
rsObj.Open "select * FROM TestTable where 姓名 = '"& "骡子" & "'", connObj, 1, 3 'FROM 从表 TData 中where 
'中的字段 姓名 查找 字段名为 '张三' 的数据。
'请自己注意看SQL语句的代码,SQL语句中,字符串常量是要用单引号的 如:'张三' '李四' '小倩' 
if Not rsObj.Eof Then
MsgBox rsObj("性别") '如果找到,则弹出骡子的性别。
rsObj("性别") = "公" '修改骡子的性别
End If
rsObj.Update '更新操作后的数据库。
MsgBox rsObj("性别") '再次弹出骡子的性别
rsObj.Delete '删除关于骡子的这整条数据
rsObj.Update '更新操作后的数据库。
rsObj.Close '最后别忘了关闭操作句柄
connObj.Close '关闭连接
Set rsObj = Nothing
Set connObj = Nothing

'在表中新增一条数据
'参数:strDBPath 字符串型 数据库所在路径
'参数:strTableName 字符串型 数据表名称
'参数:strData 字符串型 写入各个字段的值,关于该参数的详细说明在下面,请先看使用例子。

Sub AddNewData(strDBPath, strTableName, strData)
Dim connObj, rsObj, catObj, saData, saPlace, i, saTemp, saType, saCol, saCon
Set connObj = CreateObject("ADODB.Connection")

connObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source = " & strDBPath

Set rsObj = CreateObject("ADODB.RecordSet")
rsObj.Open "select * FROM " & strTableName, connObj, 1, 3

rsObj.AddNew

Set catObj = CreateObject("ADOX.Catalog")
catObj.ActiveConnection="Provider=Microsoft.Jet.OLEDB.4.0;"& _
"Data Source= " & strDBPath

saData = Split(strData, ",")
saPlace = UBound(saData)
For i = 0 To saPlace
saTemp=Split(saData(i),"=")
saCol=Trim(saTemp(0))
saType = catObj.Tables(strTableName).Columns(saCol).Type
If saType = 202 Then
saCon = CStr(Trim(saTemp(1)))
ElseIf saType = 3 Then
saCon = CInt(Trim(saTemp(1)))
End If
rsObj(saCol)=saCon
'MsgBox saCol & "," & saType& "," & saCon
Next
rsObj.Update
rsObj.Close
connObj.Close
Set rsObj = Nothing
Set connObj = Nothing
Set catObj = Nothing
End Sub

'使用例子
AddNewData "C:\Test.mdb", "TestTable", "姓名=赵钱孙, 性别=男,年龄=24"

VBS编辑字段的更多相关文章

  1. RookeyFrame Bug 表单管理 -> 查看表单 ->编辑字段页面 JS报错

    表单管理 -> 查看表单 ->编辑字段页面 小bug onchange里面直接就是方法,修改:去掉外面的function(){},直接把方法体写在onchange里面就可以了. 后台方法: ...

  2. 【MM系列】SAP ABAP 编辑字段出现:对象编辑中的错误

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 编辑字段出现: ...

  3. ALV界面将可编辑字段值保存到内表中

    具体代码如下: data: lr_grid type ref to cl_gui_alv_grid.      data: l_valid type c.      read table gt_exc ...

  4. jqGrid通用编辑规则

    一个将数据显示在grid中主要的原因是为了快速容易的编辑它,jqGrid支持3种编辑方法 jqGrid单元格编辑配置,事件及方法::编辑表格中的单元格 jqGrid行编辑配置:同时编辑一行中的多个单元 ...

  5. 【Ext.Net学习笔记】06:Ext.Net GridPanel的用法(GridPanel 折叠/展开行、GridPanel Selection、 可编辑的GridPanel)

    GridPanel 折叠/展开行 Ext.Net GridPanel的行支持折叠/展开功能,这个功能个人觉得还说很有用处的,尤其是数据中包含图片等内容的时候. 下面来看看效果: 使用行折叠/展开功能之 ...

  6. jQuery EasyUI 数据网格 - 启用行内编辑(转自http://www.runoob.com/jeasyui/jeasyui-datagrid-datagrid12.html)

    可编辑的功能是最近添加到数据网格(datagrid)的.它可以使用户添加一个新行到数据网格(datagrid).用户也可以更新一个或多个行.本教程向您展示如何创建一个数据网格(datagrid)和内联 ...

  7. Ext.Net学习笔记18:Ext.Net 可编辑的GridPanel

    Ext.Net学习笔记18:Ext.Net 可编辑的GridPanel Ext.Net GridPanel 有两种编辑模式:编辑单元格和编辑行. 单元格编辑: 行编辑: 可以看出,单元格编辑的时候,只 ...

  8. Netbeans源代码编辑技巧——使用代码补全和代码生成

    原文 Netbeans源代码编辑技巧——使用代码补全和代码生成 使用代码补全生成代码 一般来说,代码补全对于自动填充缺失的代码是有帮助的,例如标识符和关键字.截至 NetBeans IDE 6.0,您 ...

  9. asp.net学习之GridView七种字段

    原文:asp.net学习之GridView七种字段 asp.net中GridView绑定到数据源时,可以自动显示数据源的各个字段.只要设定其AutoGenerateColumns为TRUE即可.但这, ...

随机推荐

  1. JavaScript基础--简单功能的计算器(十一)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. easyui js基础

    $(document).ready( function(){ initload(); });function initConfig(){ //数据列表 yzfymx=$("#tjdj&quo ...

  3. HttpClient(4.3.3)实例讲解

    HttpClient的作用强大,真的是十分强大. 本实例是基于v4.3.3写的,,作用是模拟登陆后进行上下班打卡,,,使用htmlparser进行解析返回的html文件 关于HttpClient的一些 ...

  4. datawindow 创建操作报表。

    最近制作做了几个简单的报表,写下主要的代码.以便各位参考. public void FillDW(DataTable dtbResult) { try { DataRow dtFr; ; , j = ...

  5. JPush极光推送Java服务器端API

    // 对android和ios设备发送 JPushClient jpush = new JPushClient(masterSecret, appKey);   // 对android和ios设备发送 ...

  6. C++ Primer : 第十四章 : 重载运算与类型转换之重载运算符

    重载前须知 重载运算符是特殊的函数,它们的名字由operator和其后要重载的运算符号共同组成. 因为重载运算符时函数, 因此它包含返回值.参数列表和函数体. 对于重载运算符是成员函数时, 它的第一个 ...

  7. eclipse中运行项目时报Class not found的错误

    环境:Groovy/Grails Tool Suite 3.1.0.RELEASE(BASED ON ECLIPSE JUNO 3.8.1).JDK1.6 运行class的main方法,或启动juni ...

  8. VoxelGrid体素滤波器对点云进行下采样

    使用体素化网格方法实现下采样,即减少点的数量,减少点云数据,并同时保持点云的形状特征,在提高配准.曲面重建.形状识别等算法速度中非常实用. PCL实现的VoxelGrid类通过输入的点云数据创建一个三 ...

  9. IEnumerable 和 IQueryable 区别

    IQueryable继承自IEnumerable,所以对于数据遍历来说,它们没有区别. 但是IQueryable的优势是它有表达式树,所有对于IQueryable的过滤,排序等操作,都会先缓存到表达式 ...

  10. Windows安装包制作指南——Advanced Installer的使用

    1. 前言 最近需要制作windows的安装包,据说Advanced Installer比较强大,遂拿它来制作安装包.在网上少量资料以及官网简约文档中摸索前进,总算是制作出可用的安装包,在此记录,仅供 ...