Foxtable(狐表)用户栏目专家坐堂 → [求助]造型说明无效的字符值是啥意思


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

主题:[求助]造型说明无效的字符值是啥意思

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
[求助]造型说明无效的字符值是啥意思  发帖心情 Post By:2017/6/5 8:44:00 [只看该作者]

这个错误是啥意思?程序用的好好的,突然有台电脑出来这个,然后日期写入不进去了。一次遍历,20多条数据,前5条好好的,后面就报这个错,后面的数据没写进去。
图片点击可在新窗口打开查看此主题相关图片如下:1234.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/5 9:22:00 [只看该作者]

 如果你写了sqlFind的代码,然后,你给日期赋值了,而赋值的是空值,就会有此错误。

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2017/6/5 9:50:00 [只看该作者]

Dim zbr As Row = Tables(e.Form.TableName).Current  '主表数据行
Dim rp As Date
If zbr.IsNull("日期") Then  '写入保存日期时间
    zbr("日期") = Functions.Execute("GetDate",rp)
    zbr("DeptID") = _DeptID
    zbr("OperID") = _OperID
End If
zbr("修改时间") = Functions.Execute("GetDate",rp)
zbr("修改人") = _UserName
'**********生成单号并检测唯一************
If zbr.IsNull("单号") Then
    Functions.Execute("FTzdbmhs",e.Form.TableName,"入库单编号")
    Dim dr As DataRow = DataTables("产品出入库信息").SQLFind("单号 = '" & zbr("单号") & "'")
    Do While dr IsNot Nothing  '单号重复时删除单号临时登记并再次生成单号
        DataTables("Ft临时编码表").SQLDeleteFor("编码值 = '" & zbr("单号") & "'")
        Functions.Execute("FTzdbmhs",e.Form.TableName,"入库单编号")
        dr = DataTables("产品出入库信息").SQLFind("单号 = '" & zbr("单号") & "'")
    Loop
End If
'**************明细表中加入单号及出入库类型,类型不同时并更新类型*************
For Each r As DataRow In DataTables("FT出入库").DataRows
    If r.IsNull("产品料号") = False Then
        If r.IsNull("单号") Then
            r("单号") = zbr("单号")
            r("出入库类型") = "入库"
            r("日期") = zbr("日期")
        End If
        If r("类型") <> zbr("单据类型") AndAlso r("单号") = zbr("单号") Then
            r("类型") = zbr("单据类型")
        End If
    End If
Next
'**********检查必填项**************
Dim bn As WinForm.SplitPanel = e.Form.Controls("分区").Panel2
For Each mz As WinForm.Control In bn.Children
    If Typeof mz Is WinForm.TextBox Or Typeof mz Is WinForm.DateTimePicker Or Typeof mz Is WinForm.ComboBox Then '判断控件是否是文本框
        If e.Form.Controls(mz.Name).Value Is Nothing And mz.Name <> "说明" Then
            MessageBox.show("'" & mz.Name & "'项为空,不可保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
            Return
        End If
    End If
Next
DataTables("FT出入库").DeleteFor("单号 = '' Or 单号 Is null")
Dim drk As DataRow = DataTables("FT出入库").Find("仓库名称 = '' or 仓库名称 is null")
If drk IsNot Nothing Then
    MessageBox.show("仓库名称不可为空,禁止保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
drk = DataTables("FT出入库").Find("数量 is null")
If drk IsNot Nothing Then
    MessageBox.show("数量不可为空,禁止保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
'************保存数据**********
zbr.Save()
DataTables("FT出入库").Save()
DataTables("FT出入库").Load
DataTables("Ft临时编码表").SQLDeleteFor("编码值 = '" & zbr("单号") & "'") '删除临时单号登记
'**********结束独占编辑***************
'If zbr.DataRow.RowState = DataRowState.Modified  Then
    Dim Key As String = e.Form.TableName & ":" & zbr.DataRow("_Identify")
    If tbrk.Contains(Key) Then
        tbrk.Remove(Key) '移除本地编辑登记
        QQClient.Send("!#" & Key & "#!") '通知服务器此行已经结束编辑
    End If
'End If
'**********锁定主表项**************
For Each mz As WinForm.Control In bn.Children
    If Typeof mz Is WinForm.TextBox Or Typeof mz Is WinForm.DateTimePicker Or Typeof mz Is WinForm.ComboBox Then '判断控件是否是文本框
        e.Form.Controls(mz.Name).ReadOnly = BooleanEnum.True
    End If
Next
'****************锁定数据表*************************
Tables("FT出入库").AllowEdit = False
'**************刷新查询,显示出最新数据**************
e.Form.Controls("保存").Visible = False
e.Form.Controls("放弃").Visible = False
e.Form.Controls("状态").text = "查看"
Dim cxbn As WinForm.Button = e.Form.Controls("清除刷新")
cxbn.PerformClick()
'****************更新菜单************
MainTable = Tables("MainTable")
MainTable = Tables(e.Form.TableName)

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2017/6/5 9:51:00 [只看该作者]

这是完整代码,这个程序用了一个多月了,其它人也没有说有问题,今天一台仓库的电脑突然提出来的。我把这个错误提示一次次的关掉后,保存完成了,然后发现部分明细表的日期没有填入。
[此贴子已经被作者于2017/6/5 9:53:05编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/5 9:53:00 [只看该作者]

请加入msgbox,定位一下出错位置。


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2017/6/5 9:54:00 [只看该作者]

以下是引用有点色在2017/6/5 9:53:00的发言:

请加入msgbox,定位一下出错位置。

其它人都没有出错的啊。今天他做了好几张单子,目前只出错了这一次。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/5 10:03:00 [只看该作者]

 给日期列赋值的时候,要加入判断,如

 

dr("日期") = IIF(e.DataRow.IsNull("日期"),Nothing,e.DataRow("日期"))

 

 不然,你日期列如果是null值,就会报错。


 回到顶部