vb中,对一个access数据库添加记录,不是追加到最后,而是插入到了中间,如何解决?

主要语句如下:strConnect = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & App.Path & "\db1.mdb"Set connConnection = New ADODB.ConnectionconnConnection.CursorLocation = adUseClientconnConnection.Open strConnectSet rsRecordSet = New ADODB.RecordsetrsRecordSet.CursorType = adOpenStaticrsRecordSet.CursorLocation = adUseClientrsRecordSet.LockType = adLockPessimisticrsRecordSet.Source = "Select * From 表1" rsRecordSet.ActiveConnection = connConnectionrsRecordSet.Open If rsRecordSet.EOF = False Then rsRecordSet.MoveLastrsRecordSet.AddNew然后用for语句给各个字段赋值……rsRecordSet.Update rsRecordSet.Close '关闭记录集可是用Access打开数据库时,发现好多记录并不是追加到数据库最后,而是插入到了中间。请问怎样才能把新记录按顺序追加到数据库中?

第1个回答  2013-07-08
根据磁盘文件的存储方式,所有的文件中添加数据时,都是插入到文件的末尾。你认为的Access打开后插入到了中间,其实是Access将数据解析后进行了按默认(应该是按第一个字段)排序的结果。要想Access出现你想要的排序方式,右键单击你要排序的字段(你的是最后面的那个字段),选择按升序排序就好了。如果要在程序中对数据进行排序,在SQL的末尾加上" ORDER By 字段名"就可以了。
第2个回答  2013-07-08
这个不是添加到了中间,是你打开的时候重新排序了,添加的值和你打开这个表的时候的排序规则不同
第3个回答  2013-07-08
这很正常呀。可以通过将:
sRecordSet.Source = "Select * From 表1"
上句改为:
sRecordSet.Source = "Select * From 表1 order by 时间"
排序后检索。本回答被提问者采纳
第4个回答  2013-07-08
rsRecordSet.Source = "Select * From 表1 ORDER BY 日期 ASC" '对查询结果进行排列
相似回答