2009-04-21 125 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數據庫的結構:

標識 - 號碼,
from_mails - 備忘錄,
to_mails - 備忘錄,
cc_mails - 備忘錄,
主題 - 備忘錄,
體 - 備忘錄,
anchor_level_id - 數,
附件 - 是\否,
forward_status - 是\否,
reply_status - 是\否,
delete_status - 是\否,
READ_STATUS - 是\否,
received_date - 日期時間,
response_date - 日期時間,
批次 - 數量,
forward_score - 數量, delete_score - 數量,
優先級 - 數量,
is_auto_reply - 是\否,
parent_mail_id - 數量,
CASE_ID - 數量,
時限的 - 號,

+0

請格式正確的問題,其不可讀。 – 2009-04-21 10:08:40

+0

你需要告訴我們表的結構/設計。 – 2009-04-21 10:11:07

+0

您不追加到Access,而是追加到Jet數據存儲區。 – 2009-04-22 03:29:31

回答

4

對於is_auto_reply,請使用'false'而不加引號。這似乎是問題

3

用空值(或其他「零」值)替換每個值。先從第一個開始,然後從第一個開始(將第一個留空),然後開始,直到用空值替換所有值。 在每次更改後測試查詢。

當查詢開始工作時,您更改的最後一個值是導致問題的那個值。

P.S.它可能不是唯一不正確的值,但使用此方法,您將找到所有錯誤的類型值。

希望這有助於

+0

+1。但是,只有在所有字段都允許爲空的情況下才能使用。 – 2009-04-21 10:17:12

+0

伊恩:我在那裏之前:)看到「或其他'零'價值」上面:) – 2009-04-21 10:17:54

1

很難不知道表結構和數據類型,但在一個完整的猜測告訴

你想插入received_date & response_date

值是不正確的,因爲#符號分隔符...

嘗試將它們更改爲

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

這可能是值得檢查,如果您的' - 長的HTML字段 - '包含任何格式問題(它是否包含任何撇號,例如,這將被解釋爲過早地結束字段) 。

除此之外,其他人說:沒有細節的表結構,沒有人能夠幫助你很多。

1

查看您要插入字段的數據: 附件和is_auto_reply 當您嘗試插入字符串數據'True'和'False'時,它們應該是布爾值字段。