将值从DataGrid复制到Array vb6

时间:2012-06-19 13:24:44

标签: datagrid vb6

我有一个我想解决的问题。

我想在adodc更新数据库中的记录之前检查列是否在数据网格的行中重复了值。

为此,我将获取DataGrid中显示的记录并将它们放入Array中,然后计算单元格中具有相同值的行数。

我遇到的问题是我无法将DataGrid的单元格放入数组中,因此我可以检查重复的行。

如何在数组中获取DataGrid的单元格? 或者我怎么知道在数据库中进行更新之前是否重复了行的值?

1 个答案:

答案 0 :(得分:0)

我同意@ bob-riemersma你的验证应该通过数据绑定和数据库约束完成,但如果你想手动完成(我认为这是一个坏主意),我会使用一个集合:

Private Function GridColHasDuplicates(col As Long) As Boolean
    On Error GoTo DupeError
    Dim noDupes As New Collection

    myGrid.row = 0
    myGrid.col = col
    Do While myGrid.row <= myGrid.VisibleRows - 1
        noDupes.Add myGrid.Columns(col).Value ' this will error off if dupe
        If myGrid.row < myGrid.VisibleRows - 1 Then
            myGrid.row = myGrid.row + 1
        Else
            Exit Do
        End If
    Loop

    GridColHasDuplicates = False
    Exit Function
DupeError:
    GridColHasDuplicates = True

End Function