0

我有一个问题 ADODB.RECORDSET,我有一个名为 flgFact 的 MSFlexGrid 填充了数据,我想在一个名为 rsDetal 的记录集上添加相关的数据,但是当我编译代码时它让我失望(错误 91:对象变量或带有块变量率不是)在if

Private Sub cmdeport_Click()
    Dim rsDetal As ADODB.Recordset
    Set rsDetal = flgFact.DataSource
    If Not (rsDetal.EOF And rsDetal.BOF) Then
           rsDetal.MoveFirst
           Do While Not rsDetal.EOF
           Numdocu = rsDetal(4)
           Fec_Emision = rsDetal(5)
           Totl = rsDetal(16)
           Igve = rsDetal(17)
           Totv = rsDetal(18)
           Mont_Pade = rsDetal(14)
           Mont_Paco = rsDetal(15)
           Call TEMPTRAMA(Numdocu, Fec_Em, Totl, Igve, Totv, Mont_Pade, Mont_Paco)
           rsDetal.MoveNext
           Loop
    End If
End Sub

我检查了我的值 rsDetal 并且从 MSFlexGrid 获取的值是 Nothing

4

1 回答 1

0

如果您的 MSFlexGrid 未绑定到 DataSource,则 .DataSource 将是 Nothing。

您需要遍历网格的行并访问每列中的文本。只需更改循环方式,您可能需要将字符串值从网格转换为正确的类型。

Dim lngRowCount As Long, lngFixedRowCount As Long, lngRowIndex As Long

lngRowCount = MSFlexGrid1.Rows
lngFixedRowCount = MSFlexGrid1.FixedRows

For lngRowIndex = lngFixedRowCount To lngRowCount - 1
    'Access values using MSFlexGrid1.TextMatrix(lngRowIndex, 0), where 0 is the column
Next lngRowIndex
于 2016-03-31T20:06:23.533 回答