Foxtable(狐表)用户栏目专家坐堂 → [求助]数据表的两个问题,请高手帮忙!


  共有3622人关注过本帖平板打印复制链接

主题:[求助]数据表的两个问题,请高手帮忙!

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


加好友 发短信
等级:婴狐 帖子:78 积分:888 威望:0 精华:0 注册:2012/12/1 22:12:00
[求助]数据表的两个问题,请高手帮忙!  发帖心情 Post By:2014/2/26 21:24:00 [只看该作者]

两个数据表(见附件):部门档案、员工档案,通过部门编号关联。

问题1:在员工档案中输入部门编号时,通过员工档案_DataColChanging事件检查部门编号是否在部门档案中,有时准确,而有时检测不出错误。代码如下:

功能:单列关联,父表必须存在关联行
Select Case e.DataCol.Name
    Case "部门编号" '单列关联涉及的列名
        Dim pr As DataRow = e.DataRow.GetParentRow("部门档案")
        If pr Is Nothing Then '父表不存在关联行
            e.DataRow.SetError(e.DataCol.Name,e.DataCol.Name & ",在[部门档案]中没有找到!") '设置错误信息
        Else
            '若父表存在关联行,清除已有的错误提示信息
            If e.DataRow.GetError(e.DataCol.Name).Contains("没有找到!")
                e.DataRow.SetError(e.DataCol.Name,"") '清除错误信息
            End If
        End If
End Select

 

问题2:在员工档案查阅窗口中,若在AfterLoad设置筛选条件,当前表为员工档案时没问题,但如果当前表为部门档案出错!代码如下。如何在窗口中设置当前表?

员工档案查阅-男性_AfterLoad
'MainTable = Tables("员工档案")  '出错
'MainTable = Tables(e.Form.TableName)  '窗口所有者,出错
'MainTable = e.Form.Controls("Table").Table 'Table绑定表,出错
'DataTables("员工档案").LoadFilter = "[性别] = '男'" '可以筛选,但当前表没变,数据编辑出错.
'DataTables("员工档案").Load()
Tables(e.Form.TableName).Filter = "[性别] = '男'" '可以筛选,但当前表没变,数据编辑出错.
CurrentTable.Filter = "[性别] = '男'" '若打开窗口前,单击表"员工档案"正确,否则出错

图片点击可在新窗口打开查看

 

 

项目文件附件:

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


 回到顶部