Foxtable(狐表)用户栏目专家坐堂 → 想不出问题出在哪里


  共有8883人关注过本帖树形打印复制链接

主题:想不出问题出在哪里

帅哥哟,离线,有人找我吗?
pb_1
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:74 积分:683 威望:0 精华:0 注册:2011/10/24 19:38:00
想不出问题出在哪里  发帖心情 Post By:2012/3/14 16:06:00 [只看该作者]

Dim BHTEMP As String

BHTEMP=format(e.Form.Controls("DateTimePicker2").Value,"yyyyMMdd") 可能错误的地方。
Dim max As String
Dim idx As Integer
max = Tables("bmk").Compute("Max(BH)","substring([bh],5,8) = # " & bhtemp & "#" ) 可能错误的地方。
If max>"" Then
idx = CInt(max.Substring(10)) + 1
Else
idx = 1
End If

以上是代码,放在DATETIMEPICKER2控件的TEXTCHANG事件中,一调试的时候总是出现如下错误,我不知道原因,求解

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:未命名3.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/3/14 16:12:00 [只看该作者]

Dim BHTEMP As String
BHTEMP=format(e.Form.Controls("DateTimePicker2").Value,"yyyyMMdd") 可能错误的地方.
Dim max As String
Dim idx As Integer
max = Tables("bmk").Compute("Max(BH)","substring([bh],5,8) = ' " & bhtemp & "'" ) 可能错误的地方.
If max>"" Then
    idx = CInt(max.Substring(10)) + 1
Else
    idx = 1
End If

 

另外注意表达式的Substring, 第一个字符的编号是1,不是0.


 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/3/14 16:37:00 [只看该作者]

長句式容易看不出問題,建議用短句式:

Dim BHTEMP ,max ,Fl As String
Dim idx As Integer
BHTEMP=e.Form.Controls("DateTimePicker2").Value
BHTEMP = Format(BHTEMP,"yyyyMMdd") 
FL = "substring([bh],5,8) = ' " & bhtemp & "'"
max = Tables("bmk").Compute("Max(BH)",FL) 
idx = 1+ CInt(max.Substring(10))* -val(max >"")



 回到顶部