Foxtable(狐表)用户栏目专家坐堂 → 求助,如何优化下面的代码


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

主题:求助,如何优化下面的代码

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


加好友 发短信
等级:婴狐 帖子:59 积分:554 威望:0 精华:0 注册:2011/9/23 10:37:00
求助,如何优化下面的代码  发帖心情 Post By:2011/11/9 15:19:00 [只看该作者]

当表A的“涂”这列逻辑值为真时,把当前行删除,在表B中添加当前行,下面代码写在错在哪里  dim r as row=tables(“表A”).current

If r("涂") = True Then
     Dim b As Row = Tables("表B").addnew()
   b("组")=r("组")
   b("下单日")= r("下单日")
   b("客户") = r("客户")
   b("单号")= r("单号")
   b("代号")=r("代号")
   b("品名")= r("品名")
   b("厚度")=r("厚度")
   b("粘度")=r("粘度")
   b("字色")= r("字色")
   b("底色")=r("底色")
   b("规格")=r("规格")
   b("支数")=r("支数")
   b("米数")=r("米数")
   b("拼版")=r("拼版")
   b("膜厚")=r("膜厚")
   b("标重")=r("标重")
   b("上胶")=r("上胶")
   b("备注")=r("备注")
   b("交货时间")=r("交货时间")
   b("印机")=r("印机")
   b("印日")=r("印日")
   b("印")=r("印")
   b("涂机")=r("涂机")
   b("涂日")=r("涂日")
   b("涂")=r("涂")
   b("*")=r("*")
   Tables("表A").current.delete()
   End If


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


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

If r("涂") = True Then
    Dim b As Row = Tables("表B").AddNew()
    Dim nms() As String = {"组","下单日","客户",单号","代号","品名"}
    For Each nm As String nms
        b(nm) = r(nm)
    Next
    r.delete()
End If

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


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

If r("涂") = True Then
    Dim b As Row = Tables("表B").AddNew()
    For Each c As Col In Tables("表A").Cols
        b(c.name) = r(c.name)
    Next
    r.delete()
End If

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


加好友 发短信
等级:婴狐 帖子:59 积分:554 威望:0 精华:0 注册:2011/9/23 10:37:00
  发帖心情 Post By:2011/11/9 16:52:00 [只看该作者]

运行之后怎么会出这问题看看


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


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

出了什么问题?

你最好上传表,这样别人才能调试好代码再发给你,否则都只能大概。


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


加好友 发短信
等级:婴狐 帖子:59 积分:554 威望:0 精华:0 注册:2011/9/23 10:37:00
  发帖心情 Post By:2011/11/10 9:11:00 [只看该作者]

狐爸看看问题在哪里,代码在表(“排单”)的beforesavedatarow中

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:彩印.table


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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目33.rar

 

你的代码非常离谱,建议你先细看帮助,特别市开发指南中《编程基础》和《foxtable编程》这两章。


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


加好友 发短信
等级:婴狐 帖子:59 积分:554 威望:0 精华:0 注册:2011/9/23 10:37:00
  发帖心情 Post By:2011/11/10 10:04:00 [只看该作者]

但是没有删除掉表("排单")的行啊

 


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


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

再加一行:

 

 

Dim dr1 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "涂"
        If dr1("涂") = True Then
            Dim dr2 As DataRow = DataTables("完成记录").AddNew()
            For Each dc As DataCol In DataTables("完成记录").DataCols
                If e.DataTable.DataCols.Contains(dc.name) Then
                    dr2(dc.name) = dr1(dc.name)
                End If
            Next
            dr1.Delete
        End If
    Case "涂日"
        If dr1.IsNull("涂日") = False  Then
            Dim d As Date = dr1("涂日")
            dr1("月份") =cstr("Y"& d.month )
            dr1("日期") =cstr( d.day & "日")
        Else
            dr1("月份") = Nothing
            dr1("日期") = Nothing
        End If
End Select


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


加好友 发短信
等级:婴狐 帖子:59 积分:554 威望:0 精华:0 注册:2011/9/23 10:37:00
  发帖心情 Post By:2011/11/10 10:30:00 [只看该作者]

发生了一样的错误,到底什么原因呢

 


 回到顶部
总数 12 1 2 下一页