我有一个问题ADODB.RECORDSET,我有MSFlexGrid叫做flgFact什么是填充数据,我想在一个名为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
答案 0 :(得分: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