Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何在函数中让窗体字段获得焦点

hjs  发表于:2010-12-11 14:05:00  
复制

Public Function Iszf(ByVal strCode As String, ByVal strCodecd As Integer, ByVal strCodets As String) As Boolean
Iszf = False
strCode = Trim(strCode)
If strCode = "" Then
MsgBox "请输入或选择 [" & strCodets & "]!  ", 0 + 64, "提示"
Exit Function
End If
If strCode Like "*'*" Then
MsgBox "[" & strCodets & "] 输入内容含有非法字符(')!  ", 0 + 64, "提示"
Exit Function
End If
If chkGb(strCode) > strCodecd Then
MsgBox "[" & strCodets & "] 输入内容长度不能大于" & strCodecd / 2 & "字符!  ", 0 + 64, "提示"
Exit Function
End If
Iszf = True
End Function

 

 

想实现:在一窗体中有一字段,保存时需要判断是否是字符,通过以上函数判断,如果有问题,提示出错,让字段获得焦点,重新输入,可否在以上函数实现这个功能?谢谢!

 

Top
wang decheng 发表于:2010-12-11 16:22:56

在该文本框的beforeupdate事件里进行判断,如

if iszf() then

me.undo

cancel=true

end if

 



红尘如烟 发表于:2010-12-11 18:56:05
你把strCode参数改成控件对象变量就行了:

Public Function Iszf(Ctl As Control, ByVal strCodecd As Integer, ByVal strCodets As String) As Boolean
    Dim strCode As String
   
    strCode=Trim(Nz(Ctl))
    If strCode="" Then
        MsgBox "请输入或选择 [" & strCodets & "]!  ", 0 + 64, "提示"
    ElseIf strCode Like "*'*" Then
        MsgBox "[" & strCodets & "] 输入内容含有非法字符(')!  ", 0 + 64, "提示"
    ElseIf chkGb(strCode) > strCodecd Then
        MsgBox "[" & strCodets & "] 输入内容长度不能大于" & strCodecd / 2 & "字符!  ", 0 + 64, "提示"
    Else
        Iszf=True
    End If
    If Not Iszf Then Ctl.SetFocus
End Function



hjs 发表于:2010-12-11 21:00:19
非常感谢,非常感谢!

总记录:3篇  页次:1/1 9 1 :