Office中国论坛/Access中国论坛

标题: 以下代码怎么不能追加啊 [打印本页]

作者: wuwt918    时间: 2012-2-6 11:08
标题: 以下代码怎么不能追加啊
本帖最后由 wuwt918 于 2012-2-6 11:13 编辑

Private Sub Command5_Click()
Dim a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 As String
Dim strsql As String
[宿舍管理]![会计期间] = Text3
a1 = [宿舍管理]![宿舍名称]
a2 = [宿舍管理]![部门]
a3 = [宿舍管理]![员工姓名]
a4 = [宿舍管理]![入住日期]
a5 = [宿舍管理]![搬离日期]
a6 = [宿舍管理]![水费分摊]
a7 = [宿舍管理]![电费分摊]
a8 = [宿舍管理]![合计金额]
a9 = [宿舍管理]![会计期间]
strsql = "insert into 宿舍管理数据表(宿舍名称,部门,员工姓名,入住日期,搬离日期,水费分摊,电费分摊,合计金额,会计期间)values(a1,a2,a3,a4,a5,a6,a7,a8,a9)"
DoCmd.RunSQL strsql
MsgBox "您当前选择的是【" & a3 & "】 !", vbInformation, "提醒"

End Sub

还得补充一下,
现有表1:宿舍管理
表2:宿舍管理数据表,结构完全一样。创建了一个以宿舍管理表做子窗体的主窗体,打算点击按钮将光标停留的记录追加到表2中,现在情况是,a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 都获得了值,然后我要把这些值对应追加到表2中的时候,这些值就不见了,出现msgbox$要求我输入值,怎么解决?
作者: andymark    时间: 2012-2-6 11:33
values('" & a1 & "','" & a2 & "','" & a3 & "',# " & a4 & "#,#" & a5 & "#," & a6 & "," & a7 & "," & a8 & "," & a9 & ")

ACCESS的变量需要区分文本、数字 和 日期类型

作者: wuwt918    时间: 2012-2-6 15:50
搞定了,谢谢andymark!

现在有个新问题,a1 -a9获得的值有任意一个如果是null的话,就会报语法错误,不知道怎么解决,再麻烦指点指点!
作者: roych    时间: 2012-2-6 16:01
wuwt918 发表于 2012-2-6 15:50
搞定了,谢谢andymark!

现在有个新问题,a1 -a9获得的值有任意一个如果是null的话,就会报语法错误,不 ...

那是肯定的。应该设置默认值,或者验证正确后再进行追加。例如:
If len(a1)>0 and len(a2)>0……Then '这里的条件请自己适当增加。
Docmd.RunSQL strsql
End If
实际上最好在控件里设置好有效性或者掩码,以防用户输入非法数据。




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