公司网站上传文章,seo com,网站登录设计欣赏,成都网站开发公司排名《VBA数据库解决方案》教程#xff08;版权10090845#xff09;是我推出的第二套教程#xff0c;目前已经是第二版修订了。这套教程定位于中级#xff0c;是学完字典后的另一个专题讲解。数据库是数据处理的利器#xff0c;教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法… 《VBA数据库解决方案》教程版权10090845是我推出的第二套教程目前已经是第二版修订了。这套教程定位于中级是学完字典后的另一个专题讲解。数据库是数据处理的利器教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。
这套教程共两册八十四讲今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是VBA数据库解决方案第十七讲Recordset对象记录位置的定位方法
【分享成果随喜正能量】 人生有四苦一是看不透。看不透人际中纠结争斗后隐伤看不透喧嚣中平淡繁华后的宁静。二是舍不得。舍不得曾经的精彩不逮的岁月舍不得居高时的虚荣得意处的掌声。三是输不起。输不起一段情感之失输不起一截人生之败。四是放不下。放不下已经走远的人与事放不下早已尘封的是与非。。
第十七讲 Recordset对象记录位置的定位方法
大家好今天继续讲解VBA数据库解决方案的第17讲Recordset对象记录位置的定位方法。在上一讲中我们讲了MoveFirsMoveLastMoveNextMovePrevious的精准定位方法对于数据库的操作大段的代码是很常见的要记得我以前的建议不要手工去录入要利用资料去修正代码今日我们讲解记录定位的其他常见的方法。
1 Move方法
Move方法可以移动Recordset 对象中当前记录的位置。
语法recordset.Move NumRecords, Start
参数
A: NumRecords 长整型指定当前记录位置移动的记录数。
B: Start 可选字符串或变体型指定从哪儿开始移动。也可为下值之一
AdBookmarkCurrent0 默认。从当前记录开始。
AdBookmarkFirst1 从首记录开始。
AdBookmarkLast2 从尾记录开始。
实例讲解我们还是用上一讲的数据我们要从首行开始移动移动的是2个记录我们看看这个时候标签指向的是哪个记录代码
Sub mynz_17() 测试数据 第17讲Recordset对象记录位置的定位方法。 Dim cnADO As Object, rsADO As Object Dim strPath As String, strSQL As String Dim i As Integer Set cnADO CreateObject(ADODB.Connection) Set rsADO CreateObject(ADODB.RecordSet) strPath ThisWorkbook.Path \mydata2.accdb cnADO.Open ProviderMicrosoft.ACE.OLEDB.12.0;Data Source strPath strSQL SELECT * FROM 员工信息 WHERE 部门一厂 rsADO.Open strSQL, cnADO, 1, 3 Sheets(17).Select Cells.ClearContents For i 0 To rsADO.Fields.Count - 1 Sheets(17).Cells(1, i 1) rsADO.Fields(i).Name Next i rsADO.MoveFirst rsADO.Move 2, 0 Sheets(17).Rows(2:2).Select Selection.ClearContents For j 0 To rsADO.Fields.Count - 1 Sheets(17).Cells(2, j 1) rsADO.Fields(j) Next j rsADO.Close cnADO.Close Set rsADO Nothing Set cnADO Nothing MsgBox ok
End Sub
代码截图 代码解读
对于其他的地方我在上一讲已经非常详细地讲过了只对下面的代码做一下说明
rsADO.MoveFirst
rsADO.Move 2, 0
我们首先要把代码移动到第一条记录然后向下移动从当前记录即第一个记录开始移动每次移动两个记录然后显示记录的内容。
下面我们测试一下先看看整个的记录集 那么经过记录的移动后应该为绿色框的数据是不是呢我们看看本程序的运行结果 结果显示和我们当初的预想是一致的。
2 在Recordset对象中定位游标位置的其他办法
1 使用Recordset 对象的AbsolutePosition 属性。
AbsolutePosition属性可以设置或返回游标当前的记录位置。下面代码将游标当前位置保存在变量myc中然后设置为第10条记录 myc rst.AbsolutePosition rst.AbsolutePosition 10
2 使用Recordset 对象的Bookmark属性。
Bookmark属性可以设置或返回游标当前当前记录的书签。Recordset 对象的每一条记录都有唯一的“书签”值。下面代码先将游标当前位置设置为第10条记录然后将当前记录的书签保存到变量myc中然后移动到下一条记录实际使用时一般是进行其它的处理操作最后在通过设置Bookmark属性将记录定位到原来的第10条记录。 rst.AbsolutePosition 10 myc rst.Bookmark rst.MoveNext rst.Bookmark myc
与使用AbsolutePosition 属性的区别是使用Bookmark属性时往往不知道或不关心记录所处的实际位置。
后两种方法的实例就不再演示了以后如果有用到的再说明。 今日内容回向
1 Recordset对象的定位都有哪些方法本讲重点讲了什么方法
2 如何理解recordset.Move的参数NumRecords, Start呢
本讲内容参考程序文件VBA与数据库操作第一册.xlsm 我20多年的VBA实践经验全部浓缩在下面的各个教程中