2010-08-16 2 views
3

Мне нужно запустить запрос UPDATE на большой файл MDB (~ 30 Мб), возможно ли это? как?Как выполнять SQL-запросы в файлах MDB?

+4

Есть много способов сделать это, который вы выбрали, зависит от того, где вы хотите их запустить? Интерфейс доступа? Приложение .net? веб-приложение? какое-то другое приложение? Пожалуйста, разверните свой вопрос. –

+0

Приложение MS-Access –

+2

30mb не является большим mdb. – Fionnuala

ответ

5

Как сказал Рему, используйте конструктор запросов.

Как только вы окажетесь там, вы можете перетащить, как хотите.

Если вы действительно хотите ввести SQL напрямую, вы можете. Вы можете переключиться с представления Design view на SQL и вручную ввести его.

SQL довольно стандартный в MS Access. На других БД есть некоторые вещи, которые, по вашему мнению, являются частью стандарта, но не реализованы и реализованы на стороне MS Access. В MS Access символ дикой карты может отличаться от ожидаемого. По умолчанию используется «*» (ANSI-89) для .mdb и .accdb, но это также может быть «%», так как вы работаете с ANSI-92 SQL (используется .adp's - 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

+0

Вы правы ... MS, похоже, изменила подстановочный знак на .adp's на% (против .mdb's - спасибо # $% @ # $% # $ lot, еще одна причина не обновлять ничего до новой версии). При дальнейшем тестировании я могу сделать 'select * from (select * from bar);' который не использовался для работы (hooray), но я все еще не могу выполнить 'SELECT bar. * FROM bar, где f1 in (выберите b1 из foo); 'который работает на других БД. – BIBD

+0

Ответ скорректирован на основе обратной связи. – BIBD