2016-03-30 93 views
0

ADODB.RECORDSETに問題があります。データでいっぱいで、そのデータをrsDetalというレコードセットに追加したいのですが、コードをコンパイルするときにflgFactというMSFlexGridがあります。私(エラー91:オブジェクト変数またはブロック可変レートではないでは)もしオブジェクト変数が設定されていない(エラー91)

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をチェックして、あなたのフレキシブルグリッドがバインドされていない場合は、フレキシブルグリッドから取られた値が何も

+0

質問の最後の文に「私の値rsDetalをチェックし、MSFlexGridから取得した値がNothingである」という質問に答えました。 – tcarvin

答えて

0

ではありません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 
関連する問題