Office中国论坛/Access中国论坛
标题: 救命啊!!!3月7日更新问题,保存时检查记录! [打印本页]
作者: K仔 时间: 2007-3-3 16:47
标题: 救命啊!!!3月7日更新问题,保存时检查记录!
保存时检查每一条记录是否完整,如果有记录的字段为空或NULL作出相应(空缺字段名)提示......
请高手帮帮忙~谢谢[em05]
[attach]23373[/attach]
[此贴子已经被作者于2007-3-7 9:16:15编辑过]
作者: 一点通 时间: 2007-3-3 17:51
方法是有的,问题你要创建一个模拟的窗体,不然就不知你的用途
作者: andymark 时间: 2007-3-3 18:57
检测表是否为存在空值方法有好几种,通过查询也能实现,但不知你真正的用意
作者: 浩雨 时间: 2007-3-4 08:54
为什么不在表的字段“必填字段”属性设置成不“是”?
作者: K仔 时间: 2007-3-5 17:31
以下是引用浩雨在2007-3-4 0:54:00的发言:
为什么不在表的字段“必填字段”属性设置成不“是”?
因为在原程序里设了按回车就自动添加新记录和编号,所以这个不行!
差不多一年没有用ACCESS了...现在好像什么都不记得了.......
作者: K仔 时间: 2007-3-5 21:16
为什么没有人回啊...[em06]
作者: K仔 时间: 2007-3-6 20:50
版主们帮帮手嘛...在线等了两天了...[em06]
作者: hi-wzj 时间: 2007-3-7 00:10
不明白您所说的到底是什么意思。
作者: K仔 时间: 2007-3-7 17:19
哦...我的表达能力真的有问题...我已经改了问题!请帮忙
作者: wuaza 时间: 2007-3-7 20:33
以下是引用浩雨在2007-3-4 0:54:00的发言:
为什么不在表的字段“必填字段”属性设置成不“是”?
为什么说这个不行呢。实在不行就在窗体的更新前事件中加以判断。
作者: K仔 时间: 2007-3-7 20:58
以下是引用wuaza在2007-3-7 12:33:00的发言:
为什么说这个不行呢。实在不行就在窗体的更新前事件中加以判断。
我按回车后会新建一条记录,如果设了这个的话就会弹出错误提示了,我想在就是想问判断的代码,大侠们可以提供一下吗?
作者: andymark 时间: 2007-3-7 22:39
先不要绑定表,保存前检查各字段是否为空,OK啦就写回表里去
作者: K仔 时间: 2007-3-8 17:42
不绑定?但是我是直接在这个表中输入数据的啊...我还是不太明你的意思
作者: andymark 时间: 2007-3-8 21:19
以下是引用K仔在2007-3-8 9:42:00的发言:
不绑定?但是我是直接在这个表中输入数据的啊...我还是不太明你的意思
你是想检查表里的数据是否存在空值,还是要空值的不能保存
作者: K仔 时间: 2007-3-9 00:53
我想检查是否有空值,有的话作出提示并显示字段名~
作者: zyz218 时间: 2007-3-9 01:22
[attach]23440[/attach]
Private Sub newrec_Click()
On Error GoTo Err_newrec_Click
Me.yearmonth = Mid(Me.yearmonth.DefaultValue, 2, 7)
Me.emid = Null
Me.emname = Null
Me.intime = Null
Me.fruit = Null
Me.rule = Null
Me.duty = Null
Me.active = Null
Me.linename = Null
Me.emid.SetFocus
Exit_newrec_Click:
Exit Sub
Err_newrec_Click:
MsgBox Err.Description
Resume Exit_newrec_Click
End Sub
Private Sub saverec_Click()
On Error GoTo Err_saverec_Click
Dim i As Integer
Dim STemp As String
Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
STemp = "Select * From appraise"
Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If IsNull(Me.yearmonth) = True Then
MsgBox "请输入“评价年月”,它不可以为空!", vbOKOnly, "输入“评价年月”"
Me.yearmonth.SetFocus
Exit Sub
ElseIf IsNull(Me.emid) = True Then
MsgBox "请输入“社员NO”,它不可以为空!", vbOKOnly, "输入“社员NO”"
Me.emid.SetFocus
Exit Sub
ElseIf IsNull(Me.emname) = True Then
MsgBox "请输入“社员NO”,它不可以为空!", vbOKOnly, "输入“社员NO”"
Me.emid.SetFocus
Exit Sub
ElseIf IsNull(Me.intime) = True Then
MsgBox "请输入“社员NO”,它不可以为空!", vbOKOnly, "输入“社员NO”"
Me.emid.SetFocus
Exit Sub
ElseIf IsNull(Me.fruit) = True Then
MsgBox "请输入“成果”,它不可以为空!", vbOKOnly, "输入“成果”"
Me.fruit.SetFocus
Exit Sub
ElseIf IsNull(Me.rule) = True Then
MsgBox "请输入“规律性”,它不可以为空!", vbOKOnly, "输入“规律性”"
Me.rule.SetFocus
Exit Sub
ElseIf IsNull(Me.duty) = True Then
MsgBox "请输入“责任性”,它不可以为空!", vbOKOnly, "输入“责任性”"
Me.duty.SetFocus
Exit Sub
ElseIf IsNull(Me.active) = True Then
MsgBox "请输入“积极性”,它不可以为空!", vbOKOnly, "输入“积极性”"
Me.active.SetFocus
Exit Sub
ElseIf IsNull(Me.linename) = True Then
MsgBox "请输入“社员NO”,它不可以为空!", vbOKOnly, "输入“社员NO”"
Me.emid.SetFocus
Exit Sub
Else
If Rs.RecordCount > 0 Then
Rs.MoveFirst
For i = 1 To Rs.RecordCount
If Rs("emid") = Me.emid And _
Rs("yearmonth") = Me.yearmonth Then
MsgBox "该编号的社员本月已评价,请核实!", vbCritical, "记录已经存在"
Exit Sub
Else
Rs.MoveNext
End If
Next i
End If
End If
DoCmd.SetWarnings False
STemp = "INSERT INTO appraise"
STemp = STemp & "(yearmonth,emid,emname,intime,"
STemp = STemp & "fruit,duty,rule,active,linename)"
STemp = STemp & "VALUES ('" & Me.yearmonth & "','" & Me.emid & "',"
STemp = STemp & "'" & Me.emname & "','" & Me.intime & "',"
STemp = STemp & "'" & Me.fruit & "','" & Me.duty & "',"
STemp = STemp & "'" & Me.rule & "','" & Me.active & "',"
STemp = STemp & "'" & Me.linename & "')"
DoCmd.RunSQL STemp
Me.appraise_sub.Requery
Set Rs = Nothing
Exit_saverec_Click:
Set Rs = Nothing
Exit Sub
Err_saverec_Click:
MsgBox Err.Description
Resume Exit_saverec_Click
End Sub
Private Sub modrec_Click()
On Error GoTo Err_modrec_Click
Dim i As Integer
Dim STemp As String
Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
STemp = "Select * From appraise"
Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If IsNull(Me.yearmonth) = True Then
MsgBox "请输入“
作者: K仔 时间: 2007-3-12 16:39
谢谢你~你这里好像是检查一条记录的吧?如果一次检查多条记录呢?
[此贴子已经被作者于2007-3-12 9:43:00编辑过]
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |