设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1443|回复: 9
打印 上一主题 下一主题

[窗体] 求助数据处理问题

[复制链接]
跳转到指定楼层
1#
发表于 2008-12-9 12:34:10 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
比如我 在窗体的 A控件上输入 01020305060507   如何判断 每两个字符都不会重复!(01,02,03,05,06,05,07 )比如这个有两个05就弹出提示·字符位数是不确定的·有时多有时少·
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
10#
 楼主| 发表于 2008-12-9 14:43:50 | 只看该作者
行了··我把·If intCount = Len(Me.asdfas) Then 这黎搞错了不好意思·谢谢DDDDDD```
9#
 楼主| 发表于 2008-12-9 14:39:23 | 只看该作者
原帖由 Henry D. Sy 于 2008-12-9 14:29 发表

是吗,我真是健忘。
我怎么记不起来我曾经这样写过。


我把你写的···Len(Me.Text0)  改成了 Len(Me.asdfas.Text)  是这样改的吗?
8#
发表于 2008-12-9 14:29:08 | 只看该作者
原帖由 forman 于 2008-12-9 14:25 发表
额··这是你写的啊···

是吗,我真是健忘。
我怎么记不起来我曾经这样写过。
7#
 楼主| 发表于 2008-12-9 14:25:00 | 只看该作者
额··这是你写的啊···

Private Sub asdfas_AfterUpdate()
    Dim intCount As Integer, H As Integer
    Dim I As Integer, J As Integer, K As Integer
    Dim strArray() As String
    If intCount = Len(Me.asdfas.Text) Then
        If intCount Mod 2 <> 0 Then
            MsgBox "请输入偶数位的数据"
        End If
    End If
    H = intCount / 2 - 1
    ReDim strArray(H)
    For I = 0 To intCount - 2 Step 2
        strArray(J) = Mid(Me.asdfas.Text, I + 1, 2)
        J = J + 1
    Next
    K = UBound(strArray)
    For I = 0 To K
        For J = 0 To K
            If I <> J Then
                If strArray(I) = strArray(J) Then
                    MsgBox strArray(I) & " 有重复"
                    Exit Sub
                End If
            End If
        Next
    Next
End Sub

是不是应该这样?

[ 本帖最后由 forman 于 2008-12-9 14:28 编辑 ]
6#
发表于 2008-12-9 14:22:58 | 只看该作者
If intCount = Len(Me.asdfas) Then
        If intCount Mod 2 <> 0 Then
            MsgBox "请输入偶数位的数据"
        End If
    End If

这什么意思??
5#
 楼主| 发表于 2008-12-9 14:12:23 | 只看该作者
Private Sub asdfas_AfterUpdate()
    Dim intCount As Integer, H As Integer
    Dim I As Integer, J As Integer, K As Integer
    Dim strArray() As String

    If intCount = Len(Me.asdfas) Then
        If intCount Mod 2 <> 0 Then
            MsgBox "请输入偶数位的数据"
        End If
    End If
    H = intCount / 2 - 1
    ReDim strArray(H)
    For I = 0 To intCount - 2 Step 2
        strArray(J) = Mid(Me.asdfas, I + 1, 2)
        J = J + 1
    Next
    K = UBound(strArray)
    For I = 0 To K
        For J = 0 To K
            If I <> J Then
                If strArray(I) = strArray(J) Then
                    MsgBox strArray(I) & " 有重复"
                    Exit Sub
                End If
            End If
        Next
    Next
End Sub


我改成这样,出现错误“运行错误9,下标越界”···ReDim strArray(H)这句变黄了

[ 本帖最后由 forman 于 2008-12-9 14:13 编辑 ]
4#
发表于 2008-12-9 13:39:53 | 只看该作者
原帖由 forman 于 2008-12-9 13:08 发表
之后就不会怎么写了·麻烦 ...


没有测试,你自己测试一下

  1. Private Sub Text0_AfterUpdate()
  2.     Dim intCount As Integer, H As Integer
  3.     Dim I As Integer, J As Integer, K As Integer
  4.     Dim strArray() As String

  5.     If IsNull(Me.Text0) Then
  6.         MsgBox "请输入数据"
  7.         Exit Sub
  8.     Else
  9.         intCount = Len(Me.Text0)
  10.         If intCount Mod 2 <> 0 Then
  11.             MsgBox "请输入偶数位的数据"
  12.             Exit Sub
  13.         End If
  14.     End If
  15.     H = intCount / 2 - 1
  16.     ReDim strArray(H)
  17.     For I = 0 To intCount - 2 Step 2
  18.         strArray(J) = Mid(Me.Text0, I + 1, 2)
  19.         J = J + 1
  20.     Next
  21.     K = UBound(strArray)
  22.     For I = 0 To K
  23.         For J = 0 To K
  24.             If I <> J Then
  25.                 If strArray(I) = strArray(J) Then
  26.                     MsgBox strArray(I) & " 有重复"
  27.                     Exit Sub
  28.                 End If
  29.             End If
  30.         Next
  31.     Next
  32. End Sub
复制代码
3#
 楼主| 发表于 2008-12-9 13:08:03 | 只看该作者
Private Sub asdfas_AfterUpdate()
Dim use(10) As String, i As Integer, k As String
k = asdfas.Text
For i = 1 To 10
  use(i) = Mid(k, 2 * i - 1, 2)
Next i


End Sub


之后就不会怎么写了·麻烦帮我补下··
2#
发表于 2008-12-9 12:46:43 | 只看该作者
用循环取出两位数,然后循环对比。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 19:41 , Processed in 0.095309 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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