Таким образом, я снова возвращаюсь с большим количеством проблем с доступом к MS. У меня есть запрос INSERT INTO с подзапросом, который проверяет, существуют ли данные.Подзапрос MS Access, который возвращает несколько полей
SELECT name, course
FROM foo
WHERE (name, course) NOT IN (SELECT name, course FROM bar);
Чтобы изложить немного о том, что я пытаюсь выполнить, так как выше не работает.
Я пытаюсь выбрать составные клавиши, которые еще не существуют в таблице. Например, следующее может храниться в строке таблицы:
"John Doe" , "Calc 101"
"John Doe" , "English"
"Jane Doe" , "Calc 101"
И следующее может быть в таблице обув:
"John Doe", "Calc 101"
"John Doe", "Science"
запрос должен возвращать следующее:
"John Doe", "Science"
Везде, где я смотрел, говорит, что выше будет работать, и я уверен, что это происходит в теории. Проблема, с которой я сталкиваюсь, связана с MS Access ... Когда я пытаюсь запустить этот запрос, он всплывает, заявляя, что подзапрос вернет несколько полей. В самом деле, это необходимо, так как это то, что я хочу, чтобы он сделал, это вернуть 2 поля, которые я могу сравнить с другими 2 полями. Вышеуказанные 2 поля являются составным ключом в моей базе данных «bar».
Для получения дополнительной информации я использую MS Excel 2007 и MS Access 2007. Excel используется для ввода данных и выполнения запроса через скрипт VB. Я пытаюсь сделать подзапрос, который проверяет поля уже в конечной базе данных, потому что я столкнулся с ошибкой открытия MS Access и выплевывал сообщение ERROR о добавлении первичных ключей и закрывается с выполнением запроса. < - Этого следует ожидать из-за сложного ключа.
Вы говорите: «Везде я посмотрел говорит выше, будет работать ...» вы можете показать ваши источники? – Tony