同上

解决方案 »

  1.   

    这是我们的程序目前的方法,strID,strID2,strID3,是三个关健字
    --------------
    Public Function ValidateIDIsOnly(flxName As MSHFlexGrid, strID As String, Optional strID2 As String, Optional strID3 As String, Optional CurrentRow As Integer = -1, Optional ValidateColumn As Integer = 1) As Boolean
    '   主要功能:驗證ID是否是唯一
        On Error GoTo ErrEnd
        Dim i As Integer
        Dim flag2 As Boolean
        Dim flag3 As Boolean
        Dim Pos As Integer
        If CurrentRow = -1 Then
            Pos = flxName.Row
        Else
            Pos = CurrentRow
        End If
        For i = 1 To flxName.Rows - 1
            If flxName.TextMatrix(i, ValidateColumn) = "" Then Exit For
            If flxName.TextMatrix(i, ValidateColumn) <> "" And i <> Pos Then
                If strID2 <> "" Then
                    flag2 = IIf(flxName.TextMatrix(i, 2) = strID2, True, False)
                Else
                    flag2 = True
                End If
                If strID3 <> "" Then
                    flag3 = IIf(flxName.TextMatrix(i, 3) = strID3, True, False)
                Else: flag3 = True
                End If
                If flxName.TextMatrix(i, 1) = strID And flag2 And flag3 Then
                    ValidateIDIsOnly = False
                    Exit Function
                End If
            End If
        Next
        ValidateIDIsOnly = True
    ErrEnd:
    End Function
    ------------www.vicmiao.com
    努力就有美好时光!