设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: ycxchen
打印 上一主题 下一主题

[窗体] 批量删除记录

[复制链接]
21#
 楼主| 发表于 2008-12-19 15:37:29 | 只看该作者
谢谢了!我没有放错位置,我还是按15楼的办法加一句判断。如果不输入顿号,退出时会出现一错误提示,如下图:

我在更新前事件中加一屏蔽语句: DoCmd.SetWarnings False,
但不起作用。请问,如何才能屏幕上图的提示?
Private Sub 输入手机号码_BeforeUpdate(Cancel As Integer)
If Right(Me.输入手机号码, 1) <> "、" Then
        MsgBox "请输入中文顿号结束输入"
        Cancel = True
       End If
DoCmd.SetWarnings False
End Sub

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
22#
 楼主| 发表于 2008-12-19 17:42:22 | 只看该作者
要屏幕21楼图的提示除了考虑用DoCmd.SetWarnings False语句外,还有其它办法吗?盼大家指教。
23#
发表于 2008-12-19 19:48:08 | 只看该作者
原帖由 ycxchen 于 2008-12-19 17:42 发表
要屏幕21楼图的提示除了考虑用DoCmd.SetWarnings False语句外,还有其它办法吗?盼大家指教。

不行,这是错误提示。

怎么到了你哪里出现这么多的错误???

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
24#
 楼主| 发表于 2008-12-23 10:12:18 | 只看该作者
“冬至”回乡下几天了,现才看到帖子,6D真够热心,万分感谢!向您学习。
25#
 楼主| 发表于 2008-12-23 14:58:37 | 只看该作者
6D高手,我下载23的例子试用了,但13楼21楼的问题仍会出现,不知何因?
26#
发表于 2008-12-23 16:15:09 | 只看该作者
难道是输入法引起的,我的是搜狗拼音
27#
 楼主| 发表于 2008-12-23 17:59:09 | 只看该作者
6D高明!我用的是极品五笔输入法。我试过,将输入法转换英方状态,且在代码中将中文的顿号改为“/”,则位数不够等判断语句不起作用了。为方便起见,我想输入手机号码时用输入法为英方状态下的“/”代替中文的顿号,以隔开每个手机号码。请问,如果这样做,要如何改一下代码呢?
28#
发表于 2008-12-23 18:22:06 | 只看该作者
Private Sub 输入手机号码_KeyDown(KeyCode As Integer, Shift As Integer)
    Dim strWhere As String
    Dim strTemp As String
    Dim intCount As Integer
    If KeyCode = 191 Then
        If Len(Me.输入手机号码.Text) >= 11 Then
            strTemp = Mid(Me.输入手机号码.Text, Len(Me.输入手机号码.Text) - 10, 11)
            strWhere = "手机='" & strTemp & "'"
            intCount = DCount("*", "表1", strWhere)
            If intCount = 0 Then
                MsgBox "您刚输入的手机号码不存在"
            End If
        Else
            MsgBox "您输入的电话号码位数不够"
            KeyCode = 0
        End If
    End If
End Sub
Private Sub Command2_Click()
    Dim strWhere As String, strSQL As String
    Dim strArray() As String
    Dim i As Integer
    If IsNull(Me.输入手机号码) Then Exit Sub
    strArray = Split(Me.输入手机号码, "/")
    For i = 0 To UBound(strArray)
        strWhere = strWhere & "'" & strArray(i) & "',"
    Next
    strSQL = "delete from 表1 where 手机  (" & strWhere & ")"
    CurrentDb.Execute strSQL
End Sub
Private Sub 输入手机号码_Change()
    Dim intLength As Integer
    intLength = Len(Me.输入手机号码.Text)
    If intLength > 600 Then
        MsgBox "输入的号码数量已到极限"
    End If
End Sub
Private Sub 输入手机号码_BeforeUpdate(Cancel As Integer)
    If Right(Me.输入手机号码, 1) <> "/" Then
        MsgBox "请输入“ / ”号结束输入"
        Cancel = True
    End If
End Sub
29#
 楼主| 发表于 2008-12-24 10:19:30 | 只看该作者
万分感谢6D版主!你真是位高手中的高手。我现请教:“ If KeyCode = 191 Then”中的“KeyCode”在F1中帮助中看不到相关的解释,但为何在VBA中可应用的?
30#
发表于 2008-12-24 10:32:46 | 只看该作者
有呀,怎么会没有?
在帮助中输入keycode回车看看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-5-20 15:12 , Processed in 0.084957 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表