2009-04-21 9 views
1

У меня есть сборка запросов из Visual Studio 2005. Я вставляю записи из базы данных SQL в Access.Вставить запрос в Access

Мой запрос

insert into i_mails 
    (id,from_mails,to_mails,cc_mails,subject,body, 
    anchor_level_id,attachment,forward_status ,reply_status,delete_status,  read_status, 
    received_date,response_date, 
    batch,forward_score,delete_score,priority, 
    is_auto_reply,parent_mail_id,case_id,time_bound) 

values (1,'[email protected]', '[email protected]','[email protected]', 'Hi','--long html field--', 
     7 , 'True' ,False,False,False,False, 
     #12/12/2000 00:00:00# ,#12/12/2000 00:00:00#, 
     0, '0','0', 1 , 
     'False',0,2,0) 

Я получаю Несоответствие типов данных в критерии выражения ошибки ..
Не зная, где эта ошибка стрельбы в Запросе ... Пожалуйста, помогите !!

Access Структура базы данных:

Id - номер,
from_mails - Memo,
to_mails - Memo,
cc_mails - Memo,
предмет - памятка,
тело - памятка,
anchor_level_id - Номер,
приложение -Да \ Нет,
forward_status - Да \ Нет,
reply_status - Да \ Нет,
delete_status - Да \ Нет,
read_status - Да \ Нет,
received_date - DateTime,
response_date - DateTime,
партия - Количество,
forward_score - Номер, delete_score - Количество,
приоритет - номер,
is_auto_reply - Да \ Нет,
parent_mail_id - Номер,
case_id - Номер,
time_bound - Количество,

+0

, пожалуйста, отформатируйте вопрос правильно, его невозможно прочитать. –

+0

Вы должны сообщить нам структуру/дизайн таблицы. –

+0

Вы не добавляете Access, а в хранилище данных Jet. –

ответ

4

Для is_auto_reply используйте «false» без кавычек.Это, кажется, проблема

+0

Как вы знаете, что это не строка? –

+0

is_auto_reply тип данных «Да \ Нет» в Access – Guddu

+0

В этом случае вам не нужны кавычки. – mavnn

3

Замените каждое значение нулевым (или другим «нулевым» значением). Начните с первого, затем второго (оставив сначала как null) и до тех пор, пока вы не замените все значения нулями. проверить запрос после каждого изменения.

Когда запрос начинает работать, последнее значение, которое вы изменили, является тем, которое вызывает проблему.

P.S. Это может быть не единственное значение, которое является неправильным, но с помощью этого метода вы найдете все сильно типизированные значения.

Надеется, что это помогает

+0

+1. Но это будет работать, только если все поля разрешают null. –

+0

Ian: Я добрался до вас :) См. «Или другое« нулевое значение »выше :) –

+0

Ответ Varun Mahajan был верным для меня .. Теперь он отлично работает – Guddu

1

это трудно сказать, не зная структуры таблицы и тип данные, но при полном догадку

значение, которые вы пытаетесь вставить в received_date & response_date

неверно, потому что от разделителей символов # ...

попробуйте изменить их на

'12/12/2000 00:00:00' ,'12/12/2000 00:00:00' 
//i.e. Surround them with apostrophes 
+0

Я пытался .. но не повезло ... – Guddu

+0

# символы - как вы ограничиваете даты в MS Access. –

+0

Действительно ... Nasty :( –

0

Возможно, стоит проверить, содержит ли ваше поле длинного html-поля любые проблемы форматирования (например, содержит какие-либо апострофы, которые будут интерпретироваться как преждевременное завершение поля) ,

Помимо этого, что другие сказали: без подробностей о структуре стола никто не сможет вам помочь.

+0

Как мне создать структуру структуры здесь? – Guddu

+0

Важной информацией являются типы данных, отображаемые в представлении дизайна таблицы. – mavnn

1

Посмотрите на данных, которые вы пытаетесь вставить в поле: вложения и is_auto_reply Они должны быть Булевозначное полем, когда вы пытаетесь вставить строковые данные «True» и «False».

+0

Я получил это прямо сейчас. Спасибо ... – Guddu

Смежные вопросы