Access数据库自动排序记录!怎么停?

时间:2013-09-01 21:27:12

标签: database vb.net sorting ms-access

我正在构建一个使用数据库的程序。

当我将数据输入数据库时​​,它不会保持输入状态。它由包含ID号的字段自动按升序排序。问题是当我以编程方式创建新记录时,它会在另一个具有相同行号的表中创建记录。

我需要停止访问自动排序记录。任何想法?

3 个答案:

答案 0 :(得分:1)

关系数据库本身没有记录顺序的概念;相反,检索的记录由用于检索它们的查询排序 - 无论是在您的代码中,还是在访问gui中的幕后。因此,如果您希望它们以特定顺序出现,请编写包含ORDER BY子句的查询以适应。

答案 1 :(得分:1)

与所有关系数据库一样,MS Access中的行没有固定的顺序。

如果从表中选择数据而未在查询中指定ORDER BY子句,则数据库将以随机顺序返回行。
通常,订单看起来很合理(就像在你的情况下,按ID列升序排序),如果你多次运行相同的查询,订单可能真的是相同的。< / p>

但无法保证 - 您不能依赖此订单,您必须通过ID列或任何其他列进行排序来自行指定。


我认为你的问题(除了显然不知道如何在关系数据库中进行排序)是这样的:

  

问题是当我以编程方式创建新记录时,它会在另一个具有相同行号的表中创建记录。

如果我正确理解你:
当您需要另一个表中的记录具有相同的值时,只需在插入第一个表(假设ID是主键)后从ID列中取值并使用该值将数据保存到第二个表中。

答案 2 :(得分:0)

从表中删除任何索引是一种简单的方法。但是你没有索引。

我只是在你的表中创建一个名为“PretendRowNumber”的新字段,并将其中的行号插入其中。然后你至少可以把两张桌子绑在一起。