我正在使用Access数据库,我有一个用户可以删除和添加记录的界面。
但我还有我的应用程序的另一个方面,我需要通过将它们绑定到转发器逐个显示记录,为此我使用dataview和rowfilter。最初我使用id字段来指示要显示的行,每次递增一次,但由于用户能够删除记录,因此它不再起作用,因为ids可以跳转而不会增加一个。
我是否还要做一些像dbDataView.table.row(i)
这样的事情并每次增加i
以便我可以计算记录而不是ID?
答案 0 :(得分:1)
如果您知道当前行的 id 值,则可以向db引擎询问 id 大于当前的下一行(未删除)行> id 但不及其他所有。 Access SQL提供了DMin Function,可以轻松实现。在此查询中替换 x 的当前 id 值...
SELECT *
FROM YourTable
WHERE id = DMin('id', 'YourTable', 'id > x');
将其转换为参数查询。