Office中国论坛/Access中国论坛

标题: 急救,请问以下insert into语句错在哪里 [打印本页]

作者: jsf2008    时间: 2010-3-24 17:13
标题: 急救,请问以下insert into语句错在哪里
[attach]41756[/attach]

Private Sub cmdSave_Click()
On Error GoTo Err_cmdSave_Click
If Nz([dwname]) = "" Or Nz([kind]) = "" Or Nz([agent]) = "" Then
    MsgBox "单位名称/单位性质/经办人不能为空!", 64, "新永旭模具"
   
Else
    If DLookup("[dwname]", "德江县企事业单位在职职工失业保险登记汇总表", "[dwname]='" & [dwname] & "'") <> "" Then
        
        MsgBox "代码重复,请重新输入!", 64, "温馨提示"
        
        Me.dwname.SetFocus
    Else
   
       DoCmd.RunSQL "insert into 德江县企事业单位在职职工失业保险登记汇总表(dwname,kind,pp,dwfr,address,finance,agent,bank,number,call,dremark) select [dwname],[kind],[pp],[dwfr],[address],[finance],[agent],[bank],[number],[call],[dremark] "
      
        
        MsgBox "数据已经添加成功!", 64, "温馨提示"
        
        
        Me.[dwname] = Null
        Me.[kind] = Null
        Me.[pp] = Null
        Me.[dwfr] = Null
        Me.[address] = Null
        Me.[finance] = Null
        Me.[agent] = Null
        Me.[bank] = Null
        Me.[number] = Null
        Me.[call] = Null
        Me.[dremark] = Null
               
      
        
        Me.[德江县企事业单位在职职工失业保险登记汇总表子窗体].Requery
        
        Me![dwname].SetFocus
作者: styhs    时间: 2010-3-24 17:48
追加数据时,值来源是直接赋值,语法为:
insert into 表名(字段, 字段) VALUES(值, 值)
值来源是表值,语法为:
insert into 表名(字段, 字段) SELECT 字段, 字段 FROM 来源表名
作者: jsf2008    时间: 2010-3-25 09:19
[attach]41758[/attach]师傅们,我实在是找不到语法错在哪里,我以前的语法和这差不多,没有出现语言错误,请各位帮我看看附件语法错在哪里?
作者: iamee    时间: 2010-3-25 11:19
from?????????
作者: iamee    时间: 2010-3-25 11:34
或者直接用VALUES(...)
作者: tz-chf    时间: 2010-3-25 11:39
其它没看,只见得你的子窗体名称超级长。
作者: shitou1ge    时间: 2010-3-25 11:40
我觉得是中文名字的原因
作者: xryacc2    时间: 2010-3-25 14:11
DoCmd.RunSQL "insert into 德江县企事业单位在职职工失业保险登记汇总表(dwname,kind,pp,dwfr,address,finance,agent,bank,number,call,dremark) select [dwname],[kind],[pp],[dwfr],[address],[finance],[agent],[bank],[number],[call],[dremark] "
---------------------------
select 后没看到有from,语法:select [源表/源查询].[字段1], [源表/源查询].[字段2], [源表/源查询].[字段3], ....... from [源表/源查询]。后面可以加where条件及排序条件等 order by .....
如果分段写的格式:
"insert into 表名 ( 字段1, 字段2, 字段3...) " & _
" select  源表/查询.字段1, 源表/查询.字段2, 源表/查询.字段3....." & _  '如果字段名不同,可用as
" from 源表/查询" & _
" where 源表/查询.字段X 比较式 常量或变量" & _
" order by 源表/查询.字段" 当然order by前还可以分组等。请检查你的语法。
作者: jsf2008    时间: 2010-3-25 15:22
谢谢各位,我查出number字符不能用,在前面加一个l就可以,N字符不导致语言错误




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3