以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]不知哪不对 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102829)
|
-- 作者:石四
-- 发布时间:2017/6/26 16:08:00
-- [求助]不知哪不对
Dim cmd As New SQLCommand Dim dt As DataTable cmd.C cmd.CommandText = "SELECT [_Identify],请购编号,名称规格,单位,编号,报销 FRO M {物资入库} Where [报销] = False " dt = cmd.ExecuteReader(True)
If MsgBox("确认提交保存?",65,"提示") = 1 Then Dim a As Table = Tables("费用管理_Table3") Dim b As Table = Tables("入账报销") Dim dr1 As DataRow For r As Integer = 0 To a.Rows.Count - 1 b.AddNew b.Current("经办") = _username b.Current("物料编码") = a.Rows(r)("物料编码") b.Current("名称规格") = a.Rows(r)("名称规格") ...... b.Current("备注") = a.Rows(r)("备注") b.Current("入库ID") = a.Rows(r)("入库ID") If a.Rows(r)("入库ID") IsNot Nothing Then dr1 = dt.Find("[编号] = \'" & a.Rows(r)("入库ID") & "\' ") dr1("报销") = True End If Next dt.Save() For r As Integer = a.rows.Count - 1 To 0 Step -1 a.Current.Delete Next DataTables("入账报销").Save() End If
|
-- 作者:石四
-- 发布时间:2017/6/26 16:11:00
--
这段:
If a.Rows(r)("入库ID") IsNot Nothing Then dr1 = dt.Find("[编号] = \'" & a.Rows(r)("入库ID") & "\' ") dr1("报销") = True End If
现在的结果是a.Rows(r)("入库ID") 为空值时也执行dr1 = dt.Find("[编号] = \'" & a.Rows(r)("入库ID") & "\' ") dr1("报销") = True
没有达到预期的效果.
正确的代码应该怎样写?
|
-- 作者:有点色
-- 发布时间:2017/6/26 17:52:00
--
不应该吧?加上代码测试,看弹出什么。
msgbox("zzz" & a.Rows(r)("入库ID") & "zzz" & vbcrlf & (a.Rows(r)("入库ID") IsNot Nothing) & vbcrlf & (a.Rows(r)("入库ID") = Nothing))
|
-- 作者:石四
-- 发布时间:2017/6/27 15:08:00
--
以下是引用有点色在2017/6/26 17:52:00的发言:
不应该吧?加上代码测试,看弹出什么。
msgbox("zzz" & a.Rows(r)("入库ID") & "zzz" & vbcrlf & (a.Rows(r)("入库ID") IsNot Nothing) & vbcrlf & (a.Rows(r)("入库ID") = Nothing))
"入库ID"列空值结果:zzzzzz
True
True
"入库ID"列值为170401-06时弹出:zzz170401-06zzz
True
False
|
-- 作者:石四
-- 发布时间:2017/6/27 15:12:00
--
这个"入库ID"列挂了个下拉窗口,是这个原因导致有隐性值?怎么破?
|
-- 作者:石四
-- 发布时间:2017/6/27 16:05:00
--
此主题相关图片如下:qq截图20170627160227.png
|
-- 作者:有点色
-- 发布时间:2017/6/27 16:16:00
--
代码改成
If a.Rows(r)("入库ID") <> Nothing Then
|
-- 作者:石四
-- 发布时间:2017/6/27 16:21:00
--
OK!正确代码:
If a.Rows(r)("入库ID") <> "" Then dr1 = dt.Find("[编号] = \'" & a.Rows(r)("入库ID") & "\' ") dr1("报销") = True End If
|