以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  红袍大师进  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71417)

--  作者:bestorange
--  发布时间:2015/7/10 19:33:00
--  红袍大师进

红袍大师还在不在啊?如果您没时间帮我进行修改的话,您简单的在回帖里 教教我该怎么做吧

 


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:知音琴行管理系统修订版.foxdb

我知道肯定是在教师签到窗口的确定按钮的事件里添加一段命令。

 

单击确定按钮,所选学员在“学员一览表”中“学费余额”列的初始金额同步减去“科目分类表”中“科目”列对应科目的“课时费”,

                   

这个表达式该怎么写啊?


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

就是找出对应的行进行加减而已,没有多难的,与其被动等待,不如主动出击,看看论坛置顶的视频教程哦,《编程基础》《基本类型》《事件编程》看熟就行了。

 

 

Dim mr As Row =Tables("教师签到表").Current
Dim Result As DialogResult
Result = MessageBox.Show(mr("姓名") &" 要签到吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    mr.Save
    \'找到对应的学员这一行,改怎么减就怎么减
    Dim dr1 As DataRow = DataTables("学员一览表").Find("辅导老师 = \'" & mr("姓名") & "\' And 课程 = \'" & mr("授课内容") & "\'")
    Dim dr2 As DataRow = DataTables("课类分类表").Find("课程 = \'" & mr("授课内容") & "\'")
    dr1("学费余额") = dr1("学费余额") - dr2("课时费")
    MessageBox.Show(mr("姓名") &" 签到成功","提示")
End If


--  作者:bestorange
--  发布时间:2015/7/11 16:03:00
--  

 Dim dr1 As DataRow = DataTables("学员一览表").Find("辅导老师 = \'" & mr("姓名") & "\' And 课程 = \'" & mr("授课内容") & "\'")
    Dim dr2 As DataRow = DataTables("课类分类表").Find("课程 = \'" & mr("授课内容") & "\'")
    dr1("学费余额") = dr1("学费余额") - dr2("课时费")

 

 

错误提示未声明名称


--  作者:bestorange
--  发布时间:2015/7/11 16:12:00
--  

您看一下  这样写行吗 ?

 

Dim md As String
md=Tables("教师签到表").Current("姓名")

Dim Result As DialogResult
Result = MessageBox.Show(md &" 要签到吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    Tables("教师签到表").Current.Save
    Dim dr1 As DataRow = DataTables("学员一览表").Find("辅导老师 = \'" & md("姓名") & "\' And 课程 = \'" & md("授课内容") & "\'")
    Dim dr2 As DataRow = DataTables("课类分类表").Find("课程 = \'" & md("授课内容") & "\'")
    dr1("学费余额") = dr1("学费余额") - dr2("课时费")

    MessageBox.Show(md &" 签到成功","提示")
    Dim g As New GroupTableBuilder("统计表1", DataTables("教师签到表"))
    g.Groups.AddDef("姓名")
    g.Groups.AddDef("授课内容")
    g.Groups.AddDef("学员名称")
    g.Groups.AddDef("课时数")
    g.Totals.AddDef("姓名", AggregateEnum.Count,"签到次数")
    g.Build(False)
    
    Dim f As new Filler
    f.SourceTable = DataTables("统计表1") \'指定数据来源
    f.SourceCols = "姓名,授课内容,学员名称,签到次数" \'指定数据来源列
    f.DataTable = DataTables("签到统计表") \'指定数据接收表
    f.DataCols = "第一列,第二列,第三列,第四列" \'指定数据接收列
    f.Fill() \'填充数据

End If


--  作者:bestorange
--  发布时间:2015/7/11 16:15:00
--  

我预览点击确认后   提示

从字符串“姓名”到类型“Integer”的转换无效。


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

Dim mr As Row =Tables("教师签到表").Current
Dim Result As DialogResult
Result = MessageBox.Show(mr("姓名") &" 要签到吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    mr.Save
    \'找到对应的学员这一行,改怎么减就怎么减
    Dim dr1 As DataRow = DataTables("学员一览表").Find("辅导老师 = \'" & mr("姓名") & "\' And 课程 = \'" & mr("授课内容") & "\'")
    Dim dr2 As DataRow = DataTables("课类分类表").Find("科目 = \'" & mr("授课内容") & "\'")
   
    dr1("学费余额") = dr1("学费余额") - dr2("课时费")
    MessageBox.Show(mr("姓名") &" 签到成功","提示")
   
   
    Dim g As New GroupTableBuilder("统计表1", DataTables("教师签到表"))
    g.Groups.AddDef("姓名")
    g.Groups.AddDef("授课内容")
    g.Groups.AddDef("学员名称")
    g.Groups.AddDef("课时数")
    g.Totals.AddDef("姓名", AggregateEnum.Count,"签到次数")
    g.Build(False)
   
    Dim f As new Filler
    f.SourceTable = DataTables("统计表1") \'指定数据来源
    f.SourceCols = "姓名,授课内容,学员名称,签到次数" \'指定数据来源列
    f.DataTable = DataTables("签到统计表") \'指定数据接收表
    f.DataCols = "第一列,第二列,第三列,第四列" \'指定数据接收列
    f.Fill() \'填充数据
   
End If

 

 

[此贴子已经被作者于2015/7/11 16:42:05编辑过]

--  作者:bestorange
--  发布时间:2015/7/11 16:45:00
--  
未将对象引用设置到对象的实例。
--  作者:bestorange
--  发布时间:2015/7/11 16:46:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:知音琴行管理系统修订版.foxdb

我把文件传上来您看一下
--  作者:狐狸爸爸
--  发布时间:2015/7/11 16:55:00
--  

我给你的是思路,是答疑解惑,编程是你自己完成,实际上我基本上已经给你写好了.

这样改一下,如果还有问题,请明示输入什么内容,应该可以结算,结果没有计算且提示错误。

 

 

Dim mr As Row =Tables("教师签到表").Current
Dim Result As DialogResult
Result = MessageBox.Show(mr("姓名") &" 要签到吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    mr.Save
    \'找到对应的学员这一行,改怎么减就怎么减
    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("课时费")
    MessageBox.Show(mr("姓名") &" 签到成功","提示")
   
   
    Dim g As New GroupTableBuilder("统计表1", DataTables("教师签到表"))
    g.Groups.AddDef("姓名")
    g.Groups.AddDef("授课内容")
    g.Groups.AddDef("学员名称")
    g.Groups.AddDef("课时数")
    g.Totals.AddDef("姓名", AggregateEnum.Count,"签到次数")
    g.Build(False)
   
    Dim f As new Filler
    f.SourceTable = DataTables("统计表1") \'指定数据来源
    f.SourceCols = "姓名,授课内容,学员名称,签到次数" \'指定数据来源列
    f.DataTable = DataTables("签到统计表") \'指定数据接收表
    f.DataCols = "第一列,第二列,第三列,第四列" \'指定数据接收列
    f.Fill() \'填充数据
   
End If


--  作者:bestorange
--  发布时间:2015/7/11 16:58:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看