在Access中插入查询

时间:2009-04-21 10:06:05

标签: sql ms-access

我从Visual Studio 2005进行查询构建。我将SQL数据库中的记录插入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,'a@a.com',  'a@a.com','a@a.com',  '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)

我在条件表达式错误中得到数据类型不匹配。
不知道在Query中发送此错误的位置...请帮助!!

访问数据库结构:

Id - 数字,
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 - 数字,
time_bound - 数字,

5 个答案:

答案 0 :(得分:4)

对于is_auto_reply,请使用不带引号的“false”。这似乎是问题

答案 1 :(得分:3)

用null(或其他'零'值)替换每个值。从第一个开始,然后是第二个(将第一个保留为null)并打开,直到用空值替换所有值。 每次更改后测试查询。

当查询开始工作时,您更改的最后一个值是导致问题的值。

P.S。它可能不是唯一不正确的值,但使用此方法可以找到所有类型错误的值。

希望这有帮助

答案 2 :(得分:1)

在不知道表结构和数据类型的情况下很难说但是完全猜测

您尝试插入received_date&的值response_date

由于#符号分隔符...

不正确

尝试将其更改为

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

答案 3 :(得分:1)

查看您尝试插入字段的数据: 附件和is_auto_reply 当你试图插入字符串数据'True'和'False'时,它们应该是布尔值的字段。

答案 4 :(得分:0)

可能值得检查你的' - 长html字段 - '是否包含任何格式问题(例如,它是否包含任何撇号,这将被解释为过早地结束字段)。

除此之外,其他人说:没有桌面结构的细节,没有人能够帮助你。