VB程序员博客

VB程序开发

代码如下:
Con1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Frm_DataEdit.CommonDialog1.FileName & ";Persist Security Info=False"
rs1.Open "select * from " & SaveTbName, Con1, adOpenKeyset, adLockOptimistic

For i = 1 To 3
    rs1.AddNew

  For J = 0 To MSHFlexGrid2.Cols - 1
   
        rs1.Fields(i) = MSHFlexGrid2.TextMatrix(i, J)
    Next J
    rs1.Update
Next i
程序执行到rs1.Update时就出现说的错误
数据定义的全都是数值型的

SaveTbName 是我建立的新表 语句如下 
Dim sqls As String
    sqls = "CREATE TABLE " & SaveTbName & "(样地号 int not null ,面积 float not null ,林分密度 float not null,林分断面积 float not null,林分算术平均胸径 float not null,林分平方平均胸径 float null)"

    Debug.Print "sqls=" + sqls
   
    Con1.Execute (sqls)    '创建数据表

从你的错误信息来看

MSHFlexGrid2.TextMatrix(i, J)  <—这一段一定在某个时候传回空白值(NULL)。你可以用Print 来抓看看。

单步的时候 看到MSHFlexGrid2.TextMatrix(i, J)的值都不是NULL


标签: , , ,