#sql #ms-access #vb6 #subquery
#sql #ms-access #vb6 #подзапрос
Вопрос:
Я запрашиваю базу данных access из vb6, используя следующий запрос
INSERT INTO stock([i_name],[ref],[qty],[supplier_id])
VALUES('dd','dddd','11',(SELECT id FROM suppliers WHERE s_name ='dangote'))
но при запуске запроса я получаю следующую ошибку
-2147467259 Unspecified error Microsoft JET Database Engine
кто-нибудь может сказать мне, что не так
Спасибо
Ответ №1:
INSERT INTO stock([i_name],[ref],[qty],[supplier_id])
SELECT 'dd','dddd','11',id FROM suppliers WHERE s_name ='dangote';
Мне кажется, что это должно сработать. Если вы получаете ошибку, попробуйте вставить ее в представление SQL нового запроса в Access.
Если тип поля qty является числовым, а не текстовым, отбросьте кавычки вокруг значения 11.
INSERT INTO stock([i_name],[ref],[qty],[supplier_id])
SELECT 'dd','dddd',11,id FROM suppliers WHERE s_name ='dangote';
Комментарии:
1. На основе опыта работы с инструкциями SELECT …
SELECT Now() AS snapshot_time, col1, col2 FROM Table1;
2. как вы получили этот опыт, вы получили ошибку некоторое время назад? есть ли какой-либо другой способ обойти это?
3. Я начал использовать SQL в 1987 году. Я никогда не пробовал то, что вы пробовали, поэтому не получил ту же ошибку. С Access’db engine, я думаю, INSERT … ЗНАЧЕНИЯ позволяет вставить только одну строку значений. ВСТАВИТЬ … ВЫБЕРИТЕ позволит вам вставить много.
4. вау, это было давно. итак, какая книга. веб-сайт, ссылку на который вы предлагаете мне использовать, чтобы освежить свои навыки?
5. Я слышал положительные отзывы о SQL Джо Селко для Smarties. Думаю, я бы сначала посмотрел туда, если бы начал сегодня. Вы можете приобрести версию с мертвым деревом, и я думаю, что она также может быть доступна в виде загружаемого PDF-файла бесплатно. Посмотрите вокруг. Удачи.