当前位置:编程学习 > VB >>

用text展示access .mdb数据库数据时报错:实时错误 "94 " 无效使用 "null ",为什么把字段设为"允许空字符串"不能解决之?

用text展示access .mdb数据库数据时报错:实时错误 "94 " 无效使用 "null ",为什么把字段设为"允许空字符串"不能解决之:

实时错误 "94 " 
无效使用 "null "
 
网上搜了下找到的解决办法大概这么几个:
1 把字段设为"允许空字符串"
------这个我试过,但是从来都没成功,还是仍然报错,不知道为什么?我在如下图这里设置的,应该没找错地方?

2 在字段后面加上空格,比如: 
Text1(0).Text = rs1.Fields("编号") .Value & vbNullString
Text1(1).Text = rs1.Fields("电话") .Value & vbNullString
------但是这样如果我中途保存数据的话,就会多保存一个空格进去,而且每保存一次加一个空格,到后来我字段里面就有无数空格了(除非再加trim,但是这又额外加大程序工作量)
3 在显示数据的过程中加跳转语句,If Err.Number = 94 Then Resume Next处理
------这虽然可以不报错,但是每次展示数据的时候都要先处理这一段,这也加大程序工作量.

总的来说如果第一种方法可行的话当然是最好的,不会加大程序工作量.但是为什么我这里不行呢?求高人们帮诊断下,多谢! --------------------编程问答--------------------
Null 和空串是两回事。

Null 是对象没有赋值;空串是所赋的值是空串。

要么你将数据库表的字符字段的初值设置为空串;要么在添加新纪录时将相应的字段赋空值。

总之,没有赋值的 Null 是无法赋给 TextBox 的 Text 属性的。

实际上,第二种方法很实用,它将 Null 强制转换成了空串:

Text1(0) = rs1!编号 & ""
--------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答--------------------
引用 3 楼  的回复:
Text1(0).Text = rs1.Fields("编号").Value & ""
zText1(1).Text = rs1.Fields("电话").Value & ""


瓦擦,高着,又学了一招
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,