VBA FlexGrid选择行到数组

时间:2015-12-09 19:18:06

标签: arrays vba c1flexgrid msflexgrid vsflexgrid

我有一个带3列的Flexgrid(VSFlexGrid 8)

网格名称= Main_Window.form_seg_carrier_grid

Select | Name | ID
x      | abc  | 1
       | cdf  | 2
x      | dfs  | 3

select列被定义为布尔数据类型,由用户自行选择哪些行为true / false。

我需要的是一种获取所有行的方法,并将ID设置为数组。

目前我唯一能得到的就是告诉我选择了哪一行,或者它是否为真/假,假为0为0,真为-1。

可以通过单击按钮或更改来构建阵列。

编辑1

这是我能得到的,这将触发msgbox(快速测试变量的方式)以显示何时设置为true

    Private Sub form_seg_carrier_grid_Click()
Dim test As String
    test = Main_Window.form_seg_carrier_grid.Value
        If test = -1 Then

            MsgBox test

        End If

End Sub

编辑2

我觉得我很接近这样的事情,只是不能让它做我想做的事情。

Dim i As Integer
Dim test As String

For i = 0 To Main_Window.form_seg_carrier_grid.Rows - 1
    If Main_Window.form_seg_carrier_grid.IsSelected(i) Then
        If test <> vbNullString Then test = test & ", "
            test = test & "'"
            test = test & Main_Window.form_seg_carrier_grid.ValueMatrix(i, 1)
            test = test & "'"
    End If
Next i

1 个答案:

答案 0 :(得分:0)

我能够通过添加布尔列

来实现这一目标

0为假,-1为真

然后我使用此代码构建一个数组,我可以使用IN语句

填充SQL查询

(i,3)指定我希望该值来自哪个列

'1','3'

输出将是(引用原始帖子)

executable