请教:随机文件里有10条记录,如何删除最后一条记录?急,在线等 请教:随机文件里有10条记录,如何删除最后一条记录?急,在线等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在随机文件中删除一个记录时,并不是真正删除记录,而是把下一个记录重写到要删除的记录上,其后的所有记录依次前移。例如前面建立的文件有4个记录(为便于操作,简单的输入): 张三 办公室 35 850 李四 财务处 32 780 王五 供销科 36 810 徐六 人事科 42 890假定要删除第二个记录“李四 财务处 32 780”。其方法是:将第三个记录写到第二个记录上,第四个记录写到第三个记录上,其内容变为: 张三 办公室 35 850 王五 供销科 36 810 徐六 人事科 42 890 徐六 人事科 42 890文件中仍有4个记录,原来的第二个没有了,最后两个记录相同。也就是说,最后一个记录是多余的。为了解决这个问题,可以把原来的记录个数减1,由4个变为3个。这样,当再向文件中增加记录时,多余的记录即被覆盖!根据上面分析,编写删除记录的通用过程如下:Sub Deleterec(position As Integer) '参数position是要删除的记录的记录号 repeat: Get #1, position + 1, Recordvar If Loc(1) > RecordNumber Then GoTo finish Put #1, position, Recordvar position = position + 1 GoTo repeat finish: RecordNumber = RecordNumber - 1End Sub以上为我收藏的一段操作说明,希望能对楼主有用! [原创]VB6初步实现在WINXP下类似WIN7显示桌面的功能 VB 如何删除VSFlexGrid非复选行 VB打包后出现的奇怪现象 请教个多行文本框简单问题,取值 北大青鸟ACCP的学生来报到! 微软的money是怎么做的? 如何查询出 某个字段中有空格的记录? 按Enter键,使光标自动移到下一控件,如何实现?(请专家来座) 有谁有开发投票系统经验的 请教有没有可能用vb读出foxpro数据库中被标记为删除的记录? 怎样做到"总在最前"? 请教:msflexgrid如何实现单行选取(即拖动鼠标仍然只选一行),在线等.
李四 财务处 32 780
王五 供销科 36 810
徐六 人事科 42 890假定要删除第二个记录“李四 财务处 32 780”。其方法是:将第三个记录写到第二个记录上,第四个记录写到第三个记录上,其内容变为: 张三 办公室 35 850
王五 供销科 36 810
徐六 人事科 42 890
徐六 人事科 42 890文件中仍有4个记录,原来的第二个没有了,最后两个记录相同。也就是说,最后一个记录是多余的。为了解决这个问题,可以把原来的记录个数减1,由4个变为3个。这样,当再向文件中增加记录时,多余的记录即被覆盖!根据上面分析,编写删除记录的通用过程如下:Sub Deleterec(position As Integer) '参数position是要删除的记录的记录号
repeat:
Get #1, position + 1, Recordvar
If Loc(1) > RecordNumber Then GoTo finish
Put #1, position, Recordvar
position = position + 1
GoTo repeat
finish:
RecordNumber = RecordNumber - 1
End Sub以上为我收藏的一段操作说明,希望能对楼主有用!