用VB的TEXT控件绑定ACCESS数据库的字段。
每次ADDNEW时,发现一个问题:
不触发TEXT框,只是不停按增加没有问题。
可是如果在某一个TEXT框中输入了内容后,再删除,就会报错:
“字段XX不能是零字段的字符串”据我的估计是不是ACCESS字段不支持空字符串,而支持NULL值。
本来字段的默认值是NULL,一旦赋值后就清空,就变成空字符串,从而导致出错。有没有什么好办法解决呢?
我的表有几十个字段,肯定要用绑定的,不然写出来的程序会非常长的,也没必要。
每次ADDNEW时,发现一个问题:
不触发TEXT框,只是不停按增加没有问题。
可是如果在某一个TEXT框中输入了内容后,再删除,就会报错:
“字段XX不能是零字段的字符串”据我的估计是不是ACCESS字段不支持空字符串,而支持NULL值。
本来字段的默认值是NULL,一旦赋值后就清空,就变成空字符串,从而导致出错。有没有什么好办法解决呢?
我的表有几十个字段,肯定要用绑定的,不然写出来的程序会非常长的,也没必要。
估计是表结构与引用不能完美兼容
接吧,接吧,接多了就成高手了
我的那个字段是DATA类型的。
我试过了,数字或字符是没有问题的。
就是日期型的不知道如何解决。
语法
IsDate(expression)
说明
以Boolean值返回一个表达式是否可以转换成日期。expression参数是一个必需的Variant、包含日期表达式或字符串表达式,
如果表达式是一个日期,或可以作为有效日期识别,则IsDate返回True;否则返回False.
在Windows中,有效日期的范围介于公元100年1月1日与公元9999年12月31日之间;其有效范围随操作系统不同而不同.2.日期格式转换
Format函数
Format(expression[,format[,firstdayofweek[,firstweekofyear]]])说明
根据格式表达式中的指令来格式化参数其中expression是必需的任何有效的表达式.format是可选的有效的命名表达式或用户自定义格式表达式.firstdayofweek是可选的常数.firstweekofyear是可选的常数.
firstdayofweek参数的设置如下所示:
vbUseSystem:使用NLSAPI设置
vbSunday:星期日(缺省)
vbMonday:星期一
vbTuesday:星期二
vbWednesday:星期三
vbThursday:星期四
vbFriday:星期五
vbSaturday:星期六
firstweekofyear参数的设置如下所示:
vbUseSystem:使用NLSAPI设置
vbFirstJan:从包含一月一日的那一周开始(缺省)
vbFirstFourDays:从本年第一周开始,而此周至少有四天在本年中
vbFirstFullWeek:从本年第一周开始,而此周完全在本年中
对于数字,该函数使用预先定义的命名数值格式或创建用户自定义数值格式.
对于日期和时间,该函数使用预先定义的命名日期/时间格式或创建用户自定义日期/时间格式
对于日期和时间序数,该函数使用日期和时间格式或数值格式
对于字符串,该函数创建自定义的字符串格式例子
Dim VarTime,VarDate,VarStr
VarTime=#18:27:25#
VarDate=#January7,2002#
'以系统设置的长时间格式返回当前系统时间.
VarStr=Format(Time,"LongTime")
'以系统设置的长日期格式返回当前系统日期.
VarStr=Format(Date,"LongDate")
VarStr=Format(VarTime,"h:m:s") '返回"18:27:25"
VarStr=Format(VarTime,"hh:mm:ssAMPM") '返回"06:27:25PM"
'如果没有指定格式,则返回字符串
VarStr=Format(27)'返回"27"
'以下为用户自定义的格式
VarStr=Format(1234.5,"##,##0.00") '返回"1,234.50"
VarStr=Format(334.9,"###0.00") '返回"334.90"
VarStr=Format("VB","<") '返回"vb"
VarStr=Format("vb",">") '返回"VB"3.日期计算
DateDiff函数
返回Variant(Long)的值,表示两个指定日期间的时间间隔数目.语法
DateDiff(interval,date1,date2[,firstdayofweek[,firstweekofyear]])其中interval是必需的字符串表达式,表示用来计算date1和date2的时间差的时间间隔.date1和date2是必需的参数,代表计算中要用到的两个日期.Firstdayofweek是可选的参数.指定一个星期的第一天的常数.
Firstweekofyear是可选的指定一年的第一周的常数.
interval参数的设定值如下所示:
Yyyy:年
Q:季
M:月
Y:一年的日数
D:日
W:一周的日数
Ww:周
H:时
N:分钟
S:秒
firstdayofweek参数的设定值如下所示:
VbUseSystem:使用NLSAPI设置
vbSunday:星期日(缺省值)
vbMonday:星期一
vbTuesday:星期二
vbWednesday:星期三
vbThursday:星期四
vbFriday:星期五
vbSaturday:星期六DateAdd函数以Variant类型返回包含在一个日期加上了一段时间间隔的结果.
语法
DateAdd(interval,number,date)其中Interval是必需的字符串表达式,是所要加的时间间隔.Number是必需的数值表达式,是要加上的时间间隔的数量,其数值可为正数(得到未来的日期),也可以为负数(得到过去的日期).Date是必需的Variant类型或表示日期的字符类型,该日期还加上了时间间隔.interval参数具有以下设定值:
Yyyy:年
Q:季
M:月
Y:一年的日数
D:日
W:一周的日数
Ww:周
H:时
N:分钟
S:秒
示例:
Dim FirstDate As Date '声明变量.
Dim IntervalType As String
Dim Number As Integer
Dim Msg
IntervalType="d" '"d"指定以"日"作为间隔.
FirstDate=InputBox("请输入日期:")
Number=InputBox("请输入增加的天数")
Msg="新的日期为:"&DateAdd(IntervalType,Number,FirstDate)
Debug.Print Msg
Text1.Text = "00-1-1" '临时的日期/时间值
End If
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveLast
End Sub