打开Recordset记录集(gf_OpenRecordset函数)

<< Click to Display Table of Contents >>

导航:  Access平台开发人员帮助 > 通用函数库 > 按功能 > ADO和ADOX封装 >

打开Recordset记录集(gf_OpenRecordset函数)

上一页返回章节总览下一页

函数说明

       该函数可以根据SQL语句,打开并获取ADO记录集。

      注意:该函数无需引用ADO相关的组件,直接使用即可。实现ADO后期绑定。而且使用方法基本和原ADODB.Recordset一样。

 

函数原型

 

    Public Function gf_OpenRecordset(strSql As String, _

                                                        Optional Conn As Object, _

                                                        Optional intOpenType As AdoCursorType = intOpenKeyset, _

                                                        Optional intLockType As AdoLockType = intLockReadOnly, _

                                                        Optional lngOption As AdoRecordsetOption = -1, _

                                                        Optional intCursorLocation As AdoCursorLocation = intUseServer, _

                                                        Optional blnIgnoreErr As Boolean = True) As Object

 

语法

      gf_OpenRecordset(strSql [,Conn] [,intOpenType] [,intLockType] [,lngOption] [,intLockType] [,intCursorLocation] [,blnIgnoreErr])

       参考:gf_OpenRecordset("select * from tblTest", CurrentProject.Connection, 1, 3)   '打开tblTest表,并返回记录集对象

 

参数

参数名

必需/可选

数据类型

参数说明

strSql

必需

String

 字符串表达式,SQL语句

Conn

可选

Object

 ADODB.Connection对象。默认CurrentProject.Connection,也可以用gf_CreateConnect函数创建该对象。

intOpenType

可选

AdoCursorType

 打开记录集Recordset时,使用的指标类型。默认为intOpenKeyset ( = 1)

intLockType

可选

AdoLockType

 打开记录集Recordset时,使用的何种锁定方式。默认为intLockReadOnly ( = 1)

lngOption

可选

AdoRecordsetOption

 使用记录集Recordset的评估选项。默认-1,即不使用。

intCursorLocation

可选

AdoCursorLocation

 打开记录集Recordset的游标类型。默认intUseServer ( = 2)

blnIgnoreErr

可选

Boolean

 是否忽略打开错误。默认值是True。

 

返回值

       返回记录集对象(ADODB.Recordset)。若打开错误,则返回Nothing

 

示例

 

       ’一般使用前面4个参数即可满足需求,后面三个参数比较少用,默认即可。特殊情况下才会使用。

 

      ’示例1:打开tblTest新增记录

       Sub subTest1()

              Dim strSql As String                               ’定义一个字符串型变量,SQL语句

              Dim rs As Object                                    '定义一个对象,用于接收返回的记录集Recordset

 

               strSql = "select * from tblTest"                  ‘设置SQL语句

              Set rs = gf_OpenRecordset(strSql, CurrentProject.Connection, 1, 3) '打开tblTest表并返回对应的记录集对象。后面参数1和3表示可修改

               'Set rs = gf_OpenRecordset(strSql, , 1, 3)  '由于第二个参数是CurrentProject.Connection可以省略不写,这句效果等同上面。

                       rs.AddNew                                      ‘新增记录

                       rs("FName")="张三"                       ’FName字段值为"张三"

                       rs.Update                                        '提交数据

               rs.Close                                                  '关闭记录集

 

              Set rs = Nothing                                      ‘使用完毕,清空对象,节省资源

      End Sub

 

      ’示例2:修改记录

       Sub subTest2()

              Dim strSql As String                               ’定义一个字符串型变量,SQL语句

              Dim rs As Object                                    '定义一个对象,用于接收返回的记录集Recordset

 

               strSql = "select * from tblTest where FName='张三'"          ‘设置SQL语句,查找FName为张三的记录

              Set rs = gf_OpenRecordset(strSql, CurrentProject.Connection, 1, 3) '打开tblTest表并返回对应的记录集对象。后面参数1和3表示可修改

               'Set rs = gf_OpenRecordset(strSql, , 1, 3)  '由于第二个参数是CurrentProject.Connection可以省略不写,这句效果等同上面。

                      If rs.RecordCount > 0 Then               ’判断是否有记录

                               rs("FAge")=15                         ’FAge字段值修改为15

                               rs.Update                                '提交数据

                      Else

                              Msgbox "找不到【张三】对应的记录"

                      End If

               rs.Close                                                  '关闭记录集

 

              Set rs = Nothing                                      ‘使用完毕,清空对象,节省资源

      End Sub

 

      ’示例3:获取表中记录的值

       Sub subTest3()

              Dim strSql As String                               ’定义一个字符串型变量,SQL语句

              Dim rs As Object                                    '定义一个对象,用于接收返回的记录集Recordset

 

               strSql = "select * from tblTest where FName='张三'"          ‘设置SQL语句,查找FName为张三的记录

              Set rs = gf_OpenRecordset(strSql, CurrentProject.Connection, 1, 1) '打开tblTest表并返回对应的记录集对象。后面参数1和1表示只读

               'Set rs = gf_OpenRecordset(strSql, , 1, 1)   '由于第二个参数是CurrentProject.Connection可以省略不写,这句效果等同上面。

                      If rs.RecordCount > 0 Then                ’判断是否有记录

                              Msgbox "【张三】的年龄为 " & rs("FAge")

                      Else

                              Msgbox "找不到【张三】对应的记录"

                      End If

               rs.Close                                                  '关闭记录集

 

              Set rs = Nothing                                      ‘使用完毕,清空对象,节省资源

      End Sub