Office中国论坛/Access中国论坛

标题: [求助]INSERT INTO 语句的问题 [打印本页]

作者: williamwangc    时间: 2011-7-24 22:15
标题: [求助]INSERT INTO 语句的问题
本帖最后由 williamwangc 于 2011-7-24 22:21 编辑

Private Sub save_ry_Click()
Dim str_insert_输入 As String
Dim str_insert_历史库 As String
'*********************************************************************
'输入新人员信息
str_insert_输入 = "insert into [外协人员输入] ([所属外协单位],[姓名],[性别], [籍贯],[身份证号码],[工种],[特种证号码],[受教育时间]) values ( '" & Me.dw.Value & "','" & Me.xm.Value & "','" & Me.xb.Value & "','" & Me.jg.Value & "','" & Me.sfz.Value & "','" & Me.gz.Value & "','" & Me.tz.Value & "',# " & Me.jysj.Value & " #)"
DoCmd.RunSQL str_insert_输入
'Me.Requery
'********************************************************************
'检验新数据并将新人员复制入历史库
str_insert_历史库 = "insert into [外协单位人员历史库]([所属外协单位],[姓名],[性别],[身份证号码],[年龄],[工种],[特种证号码]) select from [新进外协人员查询表] ([外协单位人员历史库]([所属外协单位],[姓名],[性别],[身份证号码],[年龄],[工种],[特种证号码])where 身份证号='" & Me.sfz.Value & "'"
If IsNull(DLookup("身份证号码", "外协单位人员历史库", "where 身份证号码='" & Me.sfz.Value & "'")) Then
DoCmd.RunSQL str_insert_历史库
Me.Refresh
Else
Exit Sub
End If
End Sub

说明:以上语句中除了身份证号码和受教育时间有些特别,身份证号码用的是掩码,18位;受教育时间是长时间格式:-年-月-日。我估计可能这两个格式出问题。另外姓名和所属单位的控件是组合框,会不会有所影响呢?还有我语句有哪里出问题了呢?

作者: todaynew    时间: 2011-7-25 09:55
williamwangc 发表于 2011-7-24 22:15
Private Sub save_ry_Click()
Dim str_insert_输入 As String
Dim str_insert_历史库 As String

str_insert_历史库 = "insert into [外协单位人员历史库]([所属外协单位],[姓名],[性别],[身份证号码],[年龄],[工种],[特种证号码]) select [所属外协单位],[姓名],[性别],[身份证号码],[年龄],[工种],[特种证号码] from [新进外协人员查询表] where 身份证号='" & Me.sfz.Value & "'"
作者: roych    时间: 2011-7-25 10:01
一般来说,出错的原因很多,例如日期类型的前后没有加上井号(#),文本类型的前后没有加上单引号('),数值型的恰恰加上了单引号。
不过,你所犯的错误是没有指定表。正确的语法是: Insert Into Table([Fields1],[Fields2]……[FieldsN]) Values([Value1],[Value2]……[ValueN])。
作者: williamwangc    时间: 2011-7-25 11:23
本帖最后由 williamwangc 于 2011-7-25 11:32 编辑

我指定了.
str_insert_输入 = "insert into [外协人员输入]([所属外协单位],[姓名],[性别], [籍贯],[身份证号码],[工种],[特种证号码],[受教育时间]) values ( '" & Me.dw.Value & "','" & Me.xm.Value & "','" & Me.xb.Value & "','" & Me.jg.Value & "','" & Me.sfz.Value & "','" & Me.gz.Value & "','" & Me.tz.Value & "',# " & Me.jysj.Value & " #)"

str_add_外协单位 = "Insert Into [外协单位基本信息] ([外协单位名称],[法人代表],[法人代表电话],[现场安全负责人]) Values ( '" & Me.mc.Value & "','" & Me.db.Value & "','" & Me.dh.Value & "','" & Me.aqy.Value & "')"
看不出错在哪里?引号都是外面 ' 里面 " 的.




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