.AddNew if not isnull(kit(0,i)) then .Fields(0) = kit(0, i) if not isnull(kit(3,i)) then .Fields(1) = kit(3, i)
你们没有懂我的意思! 数组kit()肯定有空值,它对应我要取的数据库. 但我不会去取空值. 现在我取到数据以后,准备向dbf数据库中插值 提示我出错的地方就是在dbf数据库中, 表mm中的一个字段aa.因为我不需要它,所以我 没有对它进行处理,即我不需要用表达式.fields!aa=blank 表示出来,你们说是不是.如果我加了这一句.fields!aa=blank 程序就会正常运行. 在mm表中的其他几个空值字段也是这样.即你只有把目标数据库 的字段全部表达出来,程序就能调试通过.如你不理它,它也会报 这个错.如下: 'field XX do not accept a null values!' XX是字段名 你们现在懂我的意思了吗?
那么在插值前检查空值:For i = 0 To Adodc2.Recordset.RecordCount - 1 if isnull(kit(0, i)) or isnull(kit(3, i)) then goto line1 end if '往Dbf数据库中插值. Adodc1.RecordSource = "select * from mm" Adodc1.Refresh With Adodc1.Recordset .AddNew .Fields(0) = kit(0, i) .Fields(1) = kit(3, i) .Update 'do not accept a null values!' 注意:aa这个字段在数据库中是没有值的. .Close End With Adodc2.Recordset.MoveNext line1: Next i
.fields(0)=iif(isnull(kit(0,i)),"",kit(0,i)
.fields(3)=iif(isnull(kit(3,i)),"",kit(3,i)
比如本来.fields这个字段我是不需要的但我还要写成上这样一句吗?
.Fields(2) = iif(innull(kit(4, i)),"",kit(4,i)
if not isnull(kit(0,i)) then .Fields(0) = kit(0, i)
if not isnull(kit(3,i)) then .Fields(1) = kit(3, i)
数组kit()肯定有空值,它对应我要取的数据库.
但我不会去取空值.
现在我取到数据以后,准备向dbf数据库中插值
提示我出错的地方就是在dbf数据库中,
表mm中的一个字段aa.因为我不需要它,所以我
没有对它进行处理,即我不需要用表达式.fields!aa=blank
表示出来,你们说是不是.如果我加了这一句.fields!aa=blank
程序就会正常运行.
在mm表中的其他几个空值字段也是这样.即你只有把目标数据库
的字段全部表达出来,程序就能调试通过.如你不理它,它也会报
这个错.如下:
'field XX do not accept a null values!' XX是字段名
你们现在懂我的意思了吗?
if isnull(kit(0, i)) or isnull(kit(3, i)) then
goto line1
end if
'往Dbf数据库中插值.
Adodc1.RecordSource = "select * from mm"
Adodc1.Refresh
With Adodc1.Recordset
.AddNew
.Fields(0) = kit(0, i)
.Fields(1) = kit(3, i)
.Update
'do not accept a null values!' 注意:aa这个字段在数据库中是没有值的.
.Close
End With
Adodc2.Recordset.MoveNext
line1: Next i