以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  控件命令问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=71777)

--  作者:bestorange
--  发布时间:2015/7/17 19:43:00
--  控件命令问题

Dim f As new Filler
f.SourceTable = DataTables("钢琴课时统计表") \'指定数据来源
f.SourceCols = "学员姓名,授课内容,签到时间,签到次数" \'指定数据来源列
f.DataTable = DataTables("学员上课记录表") \'指定数据接收表
f.DataCols = "学员姓名,上课内容,上课时间,节数" \'指定数据接收列

f.Fill() \'填充数据

DataTables("学员上课记录表").save

 

Dim mr As Row =Tables("钢琴课时统计表").Current
Dim Result As DialogResult
Result = MessageBox.Show(mr("教师姓名") &" 要签到吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then

        \'找到对应的学员这一行,改怎么减就怎么减
    Dim dr1 As DataRow = DataTables("学员一览表").Find("辅导老师 = \'" & mr("教师姓名") & "\' And 课程 = \'" & mr("授课内容") & "\' and 姓名 = \'" & mr("学员姓名") & "\'")
    Dim dr2 As DataRow = DataTables("钢琴价格表").Find("级别 = \'" & mr("授课内容") & "\'")
   

    If dr1 Is Nothing OrElse dr2 Is Nothing Then

        messagebox.show("输入错误")

    End If

    mr.Save

    dr1("学费余额") = dr1("学费余额") - dr2("课时费")
    MessageBox.Show(mr("教师姓名") &" 签到成功","提示")

    mr.Save
   
End If

 

 

我在控件事件命令中加入了新增了红色字体部分,想将签到数据同时录入另一个表格中

可是执行后,会一次性录入("教师课时统计表")所有行的数据

[此贴子已经被作者于2015/7/17 20:26:59编辑过]

--  作者:yan2006l
--  发布时间:2015/7/17 23:31:00
--  

你可以设置一下filter嘛

例如f.filter =......


--  作者:bestorange
--  发布时间:2015/7/18 0:14:00
--  

。。。。=什么?

 

按我发的那组命令 是一个签到确认按钮的事件命令 单击执行

 

我是想单击之后,在绑定表增加一行记录之外,在另一表也同步增加一行。。。

我记得以前学过,死活想不起来了


--  作者:狐狸爸爸
--  发布时间:2015/7/18 11:14:00
--  

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

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

 

你只是复制一行数据,可以直接在签到按钮后加一段代码:

 

Dim nma()As String ={“学员姓名","授课内容","签到时间","签到次数"}\'A表数据来源列
Dim nmb() As String = {"学员姓名","上课内容","上课时间","节数"} \'B表数据接收列

Dim dr1 As Row = Tables("钢琴课时统计表").Current
Dim dr2 As Row = Tables("学员上课记录表").AddNew
For i As Integer = 0 To nma.Length - 1
      dr2(nmb(i)) = dr1(nma(i))
Next


--  作者:bestorange
--  发布时间:2015/7/18 11:41:00
--  

Dim mr As Row =Tables("乐理课时统计表").Current
Dim Result As DialogResult
Result = MessageBox.Show(mr("教师姓名") &" 要签到吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
   
    \'找到对应的学员这一行,改怎么减就怎么减
    Dim dr1 As DataRow = DataTables("学员一览表").Find("乐理辅导 = \'" & mr("教师姓名") & "\' and 姓名 = \'" & mr("学员姓名") & "\'")
    Dim dr2 As DataRow = DataTables("乐理价格表").Find("科目 = \'" & mr("授课内容") & "\'")
   
   
    If dr1 Is Nothing OrElse dr2 Is Nothing Then
       
        messagebox.show("输入错误")
       
    End If
   
   
    dr1("乐理学费余额") = dr1("乐理学费余额") - dr2("课时费")
    dr1("乐理课时") = dr1("乐理课时") - 1
    MessageBox.Show(mr("教师姓名") &" 签到成功","提示")
   
    mr.Save
End If

 

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