Foxtable(狐表)用户栏目专家坐堂 → 录入窗口中的一些问题请大师指点


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

主题:录入窗口中的一些问题请大师指点

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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
录入窗口中的一些问题请大师指点  发帖心情 Post By:2015/7/25 8:21:00 [只看该作者]


此主题相关图片如下:2121.png
按此在新窗口浏览图片
上图为绑定"学员一览表"的"学员资料"窗口。

 

求助:

1、新添加了“缴费”按钮,图中红框内各控件所录入的内容改为单击"缴费"按钮才代入绑定的"学员一览表"各列。

2、3个课时和3个缴纳后面的文本框中内容,可否每次缴费完成后,重置为0或空白。(余额后面文本框中内容保留)

3、“保存修改”按钮只用于保存红框之外的其他数据的修改。

4、单击"缴费"按钮,分别将“学员一览表”中的"课程"、"培训新缴"、"姓名"

                                                             "陪练级别"、"陪练新缴"、"姓名"

                                                             "乐理程度"、"乐理新缴"、"姓名"  新修改的三项记录代入到"经营相关账目"中的"名目"、"账目金额"、"相关人员"中,如某一项未修改,则不代入。

我尝试编写了一些"缴费"按钮的Click事件后,结果原先正常的"学员一览表"中各列数据的录入无法正常从窗口录入了。是不是窗口中的命令跟表事件命令冲突了?

麻烦大师指点!万分感谢!我会在回帖中把我编写的"缴费"按钮事件命令附上。

                                                

"学员一览表"表事件如下:

DoubleClick事件:

If e.Col.Name = "姓名" Then

    Forms("学员资料").Show

End If

If e.Col.name = "辅导老师" Then
    Dim dr As DataRow = DataTables("教师一览表").find("姓名 = '" & e.Row("辅导老师") & "'")
    If dr IsNot Nothing Then
        Dim wz As Integer = Tables("教师一览表").FindRow(dr)
        If wz >= 0 Then
            Tables("教师一览表").Position = wz
            Forms("教师资料").Open()
        End If
    End If
End If

DrawCell事件:

If e.Row("学费余额") < 100 Then
    e.Style = "费用不足"
End If

AfterEdit事件:

If e.Col.Name = "剩余课时" Then
    Dim Val As Integer = e.Row("剩余课时")
    If Val = 0 Then
        MessageBox.Show("已无剩余课时, 可以下山了!", "提示")
    ElseIf Val = 1 Then
        MessageBox.Show("仅剩最后一课时,请与学员家长联系续费.", "提示")
    ElseIf Val < 2 Then
        MessageBox.Show("剩余" & Val & "课时" & ", 已扣除本次课时.", "提示")
    End If
End If

DataColChanged事件:

If e.DataCol.Name = "乐理程度" Then
    If e.NewValue Is Nothing Then
        e.DataRow("乐理费") = Nothing
    Else
        Dim dr3  As  DataRow
        dr3 =  DataTables("课类分类表").Find("科目 = '" & e.DataRow("乐理程度") & "'")
        If dr3 IsNot Nothing Then
            e.DataRow("乐理费") = dr3("课时费")

        End If
    End If
End If

If e.DataCol.Name = "课程" Then
    If e.NewValue Is Nothing Then
        e.DataRow("课时费") = Nothing
    Else
        Dim dr1  As  DataRow
        dr1 =  DataTables("课类分类表").Find("科目 = '" & e.DataRow("课程") & "'")
        If dr1 IsNot Nothing Then
            e.DataRow("课时费") = dr1("课时费")
        End If
    End If
End If


If e.DataCol.Name = "陪练等级" Then
   If e.NewValue Is Nothing Then
        e.DataRow("陪练等级") = Nothing
    Else
        Dim dr2  As  DataRow
        dr2 =  DataTables("课类分类表").Find("科目 = '" & e.DataRow("陪练等级") & "'")
        If dr2 IsNot Nothing Then
            e.DataRow("陪练费") = dr2("课时费")
                        End If
    End If
End If

Select Case e.DataCol.Name
    Case "新加课时"
            e.DataRow("培训新缴") = e.DataRow("课时费") * e.DataRow("新加课时")

            e.DataRow("剩余课时") = e.DataRow("剩余课时") + e.DataRow("新加课时")
            e.DataRow("学费余额") = e.DataRow("培训新缴") + e.DataRow("学费余额")
                End  Select

Select Case e.DataCol.Name
    Case "新加乐理"
        e.DataRow("乐理新缴") = e.DataRow("乐理费") * e.DataRow("新加乐理")

        e.DataRow("乐理课时") = e.DataRow("乐理课时") + e.DataRow("新加乐理")
        e.DataRow("乐理学费余额") = e.DataRow("乐理学费余额") + e.DataRow("乐理新缴")

    End  Select

 Select Case e.DataCol.Name
        Case "新加陪练"
                e.DataRow("陪练新缴") = e.DataRow("陪练费") * e.DataRow("新加陪练")

                e.DataRow("陪练课时") = e.DataRow("陪练课时") + e.DataRow("新加陪练")
                e.DataRow("陪练费余额") = e.DataRow("陪练新缴") + e.DataRow("陪练费余额")
        End  Select



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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
  发帖心情 Post By:2015/7/25 8:24:00 [只看该作者]

"缴费"按钮 Click事件命令:

Dim mr As Row =Tables("学员一览表").Current
Dim Result As DialogResult
Result = MessageBox.Show(mr("姓名") &" 是否缴纳学费?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
Dim nma()As String = {"姓名","培训新缴","课程"}  'A表数据来源列
Dim nmb()As String = {"相关人员","账目金额","名目"}  'B表数据接收列

Dim dr4 As Row = Tables("经营相关账目").AddNew
For i As Integer = 0 To nma.Length - 1

Next
 MessageBox.Show(mr("姓名") &" 缴费完成.","提示")
End If   
    mr.Save

 

 

 


 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/7/25 11:58:00 [只看该作者]

上传代码看一下

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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
  发帖心情 Post By:2015/7/25 12:18:00 [只看该作者]

问题2已解决,窗口Afterload事件编辑

Tables("学员一览表").Current("新加课时") = Nothing
Tables("学员一览表").Current("新加乐理") = Nothing
Tables("学员一览表").Current("新加陪练") = Nothing


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/26 10:21:00 [只看该作者]

1、3、4

 

Dim mr As Row =Tables("学员一览表").Current
Dim Result As DialogResult
Result = MessageBox.Show(mr("姓名") &" 是否缴纳学费?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    mr("培训新缴") = e.Form.Controls("xxxx").Text
    mr("课程") = e.Form.Controls("xxxx").Text

    Dim nma()As String = {"姓名","培训新缴","课程"}  'A表数据来源列
    Dim nmb()As String = {"相关人员","账目金额","名目"}  'B表数据接收列
   
    Dim dr As Row = Tables("经营相关账目").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = mr(nma(i))
    Next
    MessageBox.Show(mr("姓名") &" 缴费完成.","提示")
End If
mr.Save


 回到顶部