Foxtable(狐表)用户栏目专家坐堂 → 求助:窗口中的副本表与数据表的联动


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

主题:求助:窗口中的副本表与数据表的联动

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


加好友 发短信
等级:小狐 帖子:349 积分:4094 威望:0 精华:0 注册:2018/4/6 18:02:00
求助:窗口中的副本表与数据表的联动  发帖心情 Post By:2019/6/29 12:25:00 [只看该作者]

各位老师:我在窗口中有一个副本表,窗口中有一个下拉ComboBox进行筛选,如果为空时,表CurrentChanged事件执行如下列代表:

If e.Table.Current Is Nothing Then '如果Current为Nothing
   Dim d As Date =   Date.Today.AddDays(-1)   '将当前日期赋值给DateTimePicker1
   Dim d1 As Date =  new Date(Date.today.year,Date.today.month,1) '显示当前月份的第一天并赋值给DateTimePicker2
   If _UserRoles = "总检"  Then
        Tables("制造质量管理_Table1").Filter =  "检验岗 = '终检' And  不良描述  Is Not Null And  日期1>='" & d1 & "'"
      ElseIf _UserRoles = "工检5"  Then
        Tables("制造质量管理_Table1").Filter =  "检验岗 = '终检' And  不良描述  Is Not Null And  日期1>='" & d1 & "'"
      Else
      Tables("制造质量管理_Table1").Filter =  "检验岗 = '终检' And  不良描述  Is Not Null And 部门 = '制造' And 日期1>='" & d1 & "'"
   End If
With Tables("制造质量管理")
    .Position = .Rows.Count - 1
End With
With Tables("制造质量管理_Table1")
    .Position = .Rows.Count - 1
End With
     Return '则返回
End If

执行后,无法做到点击窗口副表的一行无法做到和主表联动!(点击副表任意一行,窗口中其它控件无法显示,还停留在主表最后一行的数据)

添加如下代码:

Dim dr As DataRow = e.Table.Current.DataRow
Dim wz As Integer = Tables("制造质量管理").FindRow(dr)
If wz >=0 Then
      Tables("制造质量管理").Position = wz
End If

 总提示变更封闭在量块中,无法执行!

请各位老师费心!谢谢


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

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

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


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

1楼的代码都是放在副本的currentchanged事件中的吗?这个事件还有没有其它代码?

试试去掉下面这段代码:
With Tables("制造质量管理")
    .Position = .Rows.Count - 1
End With

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


加好友 发短信
等级:小狐 帖子:349 积分:4094 威望:0 精华:0 注册:2018/4/6 18:02:00
  发帖心情 Post By:2019/6/30 1:01:00 [只看该作者]

是的,

全部代码如下:

 If e.Table.Current Is Nothing Then '如果Current为Nothing
   Dim d As Date =   Date.Today.AddDays(-1)   '将当前日期赋值给DateTimePicker1
   Dim d1 As Date =  new Date(Date.today.year,Date.today.month,1) '显示当前月份的第一天并赋值给DateTimePicker2
   If _UserRoles = "总检"  Then
        Tables("制造质量管理_Table1").Filter =  "检验岗 = '终检' And  不良描述  Is Not Null And  日期1>='" & d1 & "'"
      ElseIf _UserRoles = "工检5"  Then
        Tables("制造质量管理_Table1").Filter =  "检验岗 = '终检' And  不良描述  Is Not Null And  日期1>='" & d1 & "'"
      Else
      Tables("制造质量管理_Table1").Filter =  "检验岗 = '终检' And  不良描述  Is Not Null And 部门 = '制造' And 日期1>='" & d1 & "'"
   End If
   e.Form.Controls("Button7").Visible = True
   e.Form.Controls("Button01").Visible = False
   With Tables("制造质量管理")
      .Position = .Rows.Count - 1
   End With
   With Tables("制造质量管理_Table1")
      .Position = .Rows.Count - 1
   End With
     Return '则返回
End If
Dim dr As DataRow = e.Table.Current.DataRow
Dim wz As Integer = Tables("制造质量管理").FindRow(dr)
If wz >=0 Then
      Tables("制造质量管理").Position = wz
 Dim r As Row = Tables("制造质量管理_Table1").Current
 If r IsNot Nothing Then
    If User.Name = "开发者" Then
           e.Form.Controls("Button10").Enabled= True
           e.Form.Controls("Button5").Enabled= True  
           e.Form.Controls("Button6").Enabled= True     
    ElseIf _UserName = r("检验员") Then
           e.Form.Controls("Button10").Enabled= True
           e.Form.Controls("Button5").Enabled= True
           e.Form.Controls("Button6").Enabled= True
    ElseIf _UserRoles = "总检"  Then
           e.Form.Controls("Button6").Enabled= True
    ElseIf _UserRoles = "工检5"  Then
           e.Form.Controls("Button10").Enabled= True
           e.Form.Controls("Button5").Enabled= True  
           e.Form.Controls("Button6").Enabled= True      
     Else
           e.Form.Controls("Button10").Enabled = False           
           e.Form.Controls("Button5").Enabled = False
           e.Form.Controls("Button6").Enabled = False            
   End If
 End If
End If

去掉后主表也停留在当前行,副本表还是没有反应!

请老师费心!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/30 10:28:00 [只看该作者]

做一个实例发上来测试

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


加好友 发短信
等级:小狐 帖子:349 积分:4094 威望:0 精华:0 注册:2018/4/6 18:02:00
  发帖心情 Post By:2019/6/30 11:06:00 [只看该作者]

老师:请费心!

   我要的效果是,窗口开启后,选加载申请改判不为空的行,当第三列和申请改判相同时,申请改判为空后,重新加载第三列为物流的所有行,点击窗口中的表的一行时,能与主表A联动,窗口中的Textbox显示不同行选定行的内容!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

谢谢!

[此贴子已经被作者于2019/6/30 11:06:40编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/30 11:41:00 [只看该作者]

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


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


加好友 发短信
等级:小狐 帖子:349 积分:4094 威望:0 精华:0 注册:2018/4/6 18:02:00
  发帖心情 Post By:2019/6/30 13:23:00 [只看该作者]

谢谢老师指点!


 回到顶部