以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  根据逻辑列判断问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73687)

--  作者:bestorange
--  发布时间:2015/8/24 20:53:00
--  根据逻辑列判断问题

下面是我编写的一段按钮代码,由于‘一键完成’的功能比较都,所以写着写着自己都乱了。。

红色字部分,单击按钮后,将 mr 表中该逻辑列=True 的行删除,该怎么写?

然后绿色字部分 能不能 隐藏为True的行?

 

Dim mr As Row =Tables("培训课时统计表").Current
Dim Result As DialogResult
Result = MessageBox.Show(mr("教师姓名") &" 您是否已核对过表格中各项统计及金额无误,确定领取工资?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then

For Each r As Row In Tables("教师课时统计表").Rows
    r("工资已发") = True
    r.Locked = True
    r.Save
Next

Dim nma()As String = {"教师姓名","教师工资","授课内容"}  \'A表数据来源列
Dim nmb()As String = {"相关人员","账目金额","名目"}  \'B表数据接收列

Dim dr3 As Row = Tables("教师课时统计表").Current
Dim dr4 As Row = Tables("经营相关账目").AddNew
For i As Integer = 0 To nma.Length - 1
    dr4(nmb(i)) = dr3(nma(i))
Next

If mr("已结算") = True Then

。。。。。

mr Save
DataTables("经营相关账目").Save
DataTables("教师课时统计表").Save
 MessageBox.Show(mr("教师姓名") &" 签到成功","提示")
End If


--  作者:大红袍
--  发布时间:2015/8/24 20:56:00
--  

删除

 

mr.Delete

 

隐藏参考

 

http://www.foxtable.com/help/topics/0448.htm

 


--  作者:bestorange
--  发布时间:2015/8/24 21:06:00
--  
以下是引用大红袍在2015/8/24 20:56:00的发言:

删除

 

mr.Delete

 

隐藏参考

 

http://www.foxtable.com/help/topics/0448.htm

 

If mr("已结算") = True Then

mr.Delete

 

不是吧。。。只是删除为True的行 其他没选定的 数据保留


--  作者:大红袍
--  发布时间:2015/8/24 21:14:00
--  

删除就是这样

 

If mr("已结算") = True Then

   mr.Delete

End If


--  作者:bestorange
--  发布时间:2015/8/24 21:28:00
--  

。。。那我这段代码哪里出错了吗??为什么执行后  没反应呢?

 

Dim mr As Row =Tables("培训课时统计表").Current
Dim Result As DialogResult
Result = MessageBox.Show(mr("教师姓名") &" 您是否已核对过表格中各项统计及金额无误,确定领取工资?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    If mr("已结算") = True Then
        mr.Delete
    End If
    mr.save
   
    For Each r As Row In Tables("教师课时统计表").Rows
        r("工资已发") = True
        r.Locked = True
        r.Save
    Next
   
    Dim nma()As String = {"教师姓名","教师工资","授课内容"}  \'A表数据来源列
    Dim nmb()As String = {"相关人员","账目金额","名目"}  \'B表数据接收列  
    Dim dr3 As Row = Tables("教师课时统计表").Current
    Dim dr4 As Row = Tables("经营相关账目").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr4(nmb(i)) = dr3(nma(i))
    Next
   
    DataTables("经营相关账目").Save
    DataTables("教师课时统计表").Save
    MessageBox.Show(mr("教师姓名") &" 您的工资已结算完毕,发放到您的手中!是不是要请客哦!O(∩_∩)O~","提示")
End If
e.Form.Controls("Button1").Enabled = False
e.Form.Controls("Button3").Enabled = False
e.Form.Controls("Button4").Enabled = False


--  作者:大红袍
--  发布时间:2015/8/24 21:30:00
--  

什么没有效果,满足条件的那一行删除了。


--  作者:bestorange
--  发布时间:2015/8/24 21:31:00
--  
。。。。好像知道问题了。。我应该是要删除Tables("培训课时统计表")中("已结算")列=True的行 才对把
--  作者:大红袍
--  发布时间:2015/8/24 21:32:00
--  

http://www.foxtable.com/help/topics/0394.htm

 


--  作者:bestorange
--  发布时间:2015/8/24 21:35:00
--  

DataTables("订单").DeleteFor"已结算 = True   这样吧


--  作者:大红袍
--  发布时间:2015/8/24 21:36:00
--  
DataTables("订单").DeleteFor("已结算 = True")