Option ExplicitPrivate Sub Command1_Click() MSHFlexGrid1.Rows = 10 MSHFlexGrid1.Cols = 5 MsgBox beempty(MSHFlexGrid1) MSHFlexGrid1.TextMatrix(3, 4) = "1" MsgBox beempty(MSHFlexGrid1) End SubFunction beempty(ByVal grid As MSHFlexGrid) As Boolean beempty = True Dim i As Long, j As Long For i = 0 To grid.Rows - 1 For j = 0 To grid.Cols - 1 If Not grid.TextMatrix(i, j) = "" Then beempty = False: Exit For: Exit For Next Next End Function
问题:怎么判断MSHFlexGrid是空的? 谢谢解答,判断为空已解决,还有如何判断是否有重复输入啊? 我要一行中有两个字段的值相同的话就不能存入数据库,怎么判断啊?无法回复消息Private Sub Form_Load() MSHFlexGrid1.Cols = 5 MSHFlexGrid1.Rows = 10 For i = 0 To 4 MSHFlexGrid1.TextMatrix(3, i) = Choose(i + 1, 0, 2, 2, 3, 4) Next MsgBox isrepeat(MSHFlexGrid1, 3) End Sub Function isrepeat(ByVal grid As MSHFlexGrid, ByVal index As Integer) As Boolean isrepeat = False Dim i As Integer, j As Integer For i = 0 To grid.Cols - 2 For j = i + 1 To grid.Cols - 1 If grid.TextMatrix(index, i) = grid.TextMatrix(index, j) Then isrepeat = True: Exit Function Next Next End Function
MSHFlexGrid1.Rows = 10
MSHFlexGrid1.Cols = 5
MsgBox beempty(MSHFlexGrid1)
MSHFlexGrid1.TextMatrix(3, 4) = "1"
MsgBox beempty(MSHFlexGrid1)
End SubFunction beempty(ByVal grid As MSHFlexGrid) As Boolean
beempty = True
Dim i As Long, j As Long
For i = 0 To grid.Rows - 1
For j = 0 To grid.Cols - 1
If Not grid.TextMatrix(i, j) = "" Then beempty = False: Exit For: Exit For
Next
Next
End Function
谢谢解答,判断为空已解决,还有如何判断是否有重复输入啊?
我要一行中有两个字段的值相同的话就不能存入数据库,怎么判断啊?无法回复消息Private Sub Form_Load()
MSHFlexGrid1.Cols = 5
MSHFlexGrid1.Rows = 10
For i = 0 To 4
MSHFlexGrid1.TextMatrix(3, i) = Choose(i + 1, 0, 2, 2, 3, 4)
Next
MsgBox isrepeat(MSHFlexGrid1, 3)
End Sub
Function isrepeat(ByVal grid As MSHFlexGrid, ByVal index As Integer) As Boolean
isrepeat = False
Dim i As Integer, j As Integer
For i = 0 To grid.Cols - 2
For j = i + 1 To grid.Cols - 1
If grid.TextMatrix(index, i) = grid.TextMatrix(index, j) Then isrepeat = True: Exit Function
Next
Next
End Function