2010-08-16 111 views
3

我需要在一个大的MDB文件(〜30mb)上运行UPDATE查询,有可能吗?怎么样?如何在MDB文件上运行SQL查询?

+4

有很多方法可以做到这一点,你选择哪一个取决于你想从哪里运行它们? Access UI? .net应用程序?一个Web应用程序?一些其他类型的应用程序?请扩展你的问题。 – 2010-08-16 13:39:21

+0

MS-Access应用程序 – 2010-08-16 13:41:16

+2

30mb不是一个大的mdb。 – Fionnuala 2010-08-16 13:42:23

回答

5

正如Remou所说,使用查询设计器。

一旦你在那里,你可以随意拖放。

如果你真的想直接输入SQL,你可以。您可以从设计视图切换到SQL视图并手动输入。

SQL在MS Access上非常标准。其他数据库上有一些你认为是标准的一部分,但是并没有在MS Access上实现。在MS Access上,通配符字符可能与您预期的不同。对于.mdb和.accdb,默认值是“*”(ANSI-89),但也可以是“%”,是你正在使用ANSI-92 SQL(由.adp的 - Access Data Projects使用)。 As a rule, you use the ANSI-89 wildcards when you run queries and find-and-replace operations against Access databases — .mdb and .accdb files. You use the ANSI-92 wildcards when you run queries against Access projects — Access files connected to Microsoft SQL Server databases.

你也可能被用来在MySQL中嵌套查询。其中一些你不能在MS Access中做同样的方式 - 你有一些有趣的解决方法来获得相同的效果。其他方面,它非常接近。这也可能与ANSI-89 SQL和ANSI-92 SQL(及更高版本)之间的差异有关。

+0

它并不总是星号,它可以是百分比,具体取决于您设置数据库使用的SQL版本。在创建嵌套查询时没有问题,您可以在设计视图中经常查看它们,只要在SQL视图中设置它们即可。 – Fionnuala 2010-08-16 14:17:53

+0

你是对的...... MS似乎已经将.adp的通配符更改为%(与.mdb相比 - 感谢#$%@#$%#$ lot),还有一个不会将任何内容升级到新版本的理由)。经过进一步的测试,我可以做'select * from(select * from bar);'哪个不习惯工作(hooray),但我仍然不能做'SELECT bar。* FROM bar where f1 in(select b1 from foo);'在其他数据库上工作。 – BIBD 2010-08-16 15:09:28

+0

根据反馈调整答案。 – BIBD 2010-08-16 15:11:42