设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1234下一页
返回列表 发新帖
查看: 5327|回复: 32
打印 上一主题 下一主题

[窗体] 批量删除记录

[复制链接]
跳转到指定楼层
1#
发表于 2008-12-18 10:19:52 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我想通过用手机号码作条件来删除记录,想在窗体的文本框中连续输入一定数量的手机号码,例如5个或10个号码,每个号码用中文的顿号隔开,后单击“删除”按钮,能将输入的手机号码的所有记录删除。请问,要实现此功能如何写VBA代码?

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
33#
 楼主| 发表于 2008-12-24 16:15:03 | 只看该作者
明白,谢谢!
32#
发表于 2008-12-24 14:43:17 | 只看该作者
但对KeyCode = 191 为什么代表英文输入法不明白
不是代表英文输入法,而是英文斜杆的keycode=191

[ 本帖最后由 Henry D. Sy 于 2008-12-24 14:58 编辑 ]
31#
 楼主| 发表于 2008-12-24 12:15:42 | 只看该作者
万分感谢6D版主,教导我学会不少VBA!!直接按F1不能查到,但通过搜索可以查到。看过帮助,但对KeyCode = 191 为什么代表英文输入法不明白,请指教!
30#
发表于 2008-12-24 10:32:46 | 只看该作者
有呀,怎么会没有?
在帮助中输入keycode回车看看。
29#
 楼主| 发表于 2008-12-24 10:19:30 | 只看该作者
万分感谢6D版主!你真是位高手中的高手。我现请教:“ If KeyCode = 191 Then”中的“KeyCode”在F1中帮助中看不到相关的解释,但为何在VBA中可应用的?
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
27#
 楼主| 发表于 2008-12-23 17:59:09 | 只看该作者
6D高明!我用的是极品五笔输入法。我试过,将输入法转换英方状态,且在代码中将中文的顿号改为“/”,则位数不够等判断语句不起作用了。为方便起见,我想输入手机号码时用输入法为英方状态下的“/”代替中文的顿号,以隔开每个手机号码。请问,如果这样做,要如何改一下代码呢?
26#
发表于 2008-12-23 16:15:09 | 只看该作者
难道是输入法引起的,我的是搜狗拼音
25#
 楼主| 发表于 2008-12-23 14:58:37 | 只看该作者
6D高手,我下载23的例子试用了,但13楼21楼的问题仍会出现,不知何因?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-21 07:57 , Processed in 0.104045 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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