我正在构建一个使用数据库的程序。
当我将数据输入数据库时,它不会保持输入状态。它由包含ID号的字段自动按升序排序。问题是当我以编程方式创建新记录时,它会在另一个具有相同行号的表中创建记录。
我需要停止访问自动排序记录。任何想法?
答案 0 :(得分:1)
关系数据库本身没有记录顺序的概念;相反,检索的记录由用于检索它们的查询排序 - 无论是在您的代码中,还是在访问gui中的幕后。因此,如果您希望它们以特定顺序出现,请编写包含ORDER BY子句的查询以适应。
答案 1 :(得分:1)
与所有关系数据库一样,MS Access中的行没有固定的顺序。
如果从表中选择数据而未在查询中指定ORDER BY
子句,则数据库将以随机顺序返回行。
通常,订单看起来很合理(就像在你的情况下,按ID
列升序排序),如果你多次运行相同的查询,订单可能真的是相同的。< / p>
但无法保证 - 您不能依赖此订单,您必须通过ID
列或任何其他列进行排序来自行指定。
我认为你的问题(除了显然不知道如何在关系数据库中进行排序)是这样的:
问题是当我以编程方式创建新记录时,它会在另一个具有相同行号的表中创建记录。
如果我正确理解你:
当您需要另一个表中的记录具有相同的值时,只需在插入第一个表(假设ID
是主键)后从ID
列中取值并使用该值将数据保存到第二个表中。
答案 2 :(得分:0)
从表中删除任何索引是一种简单的方法。但是你没有索引。
我只是在你的表中创建一个名为“PretendRowNumber”的新字段,并将其中的行号插入其中。然后你至少可以把两张桌子绑在一起。