Foxtable(狐表)用户栏目专家坐堂 → [已解决][求助]设置表关联后,动态同步卸载多个表会报错


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

主题:[已解决][求助]设置表关联后,动态同步卸载多个表会报错

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


加好友 发短信
等级:幼狐 帖子:115 积分:1034 威望:0 精华:0 注册:2015/6/19 10:37:00
[已解决][求助]设置表关联后,动态同步卸载多个表会报错  发帖心情 Post By:2022/5/6 10:45:00 [只看该作者]

请教,

问题一,数据表{客户}通过字段[代码]与数据表{客户其它联系}字段[客户代码]建立了表关联,且生成关联均已设置为“无”。执行以下操作:

1,点击主菜单【销售】-》【报价】,打开“主窗口-销售报价”,对应主表{销售报价单}。

2,点击窗口菜单之【修改】-》选中窗口控件“客户代码”并点击其命令按钮【...】,打开了查询并选定客户的“主窗口-客户”,相应主表切换到数据表{客户}。

3,“主窗口-客户”选定某一客户数据后,点击窗口菜单中的【选定】按钮,在返回查询来源“主窗口-销售报价”(切换回主表{销售报价单})过程中,系统执行该按钮事件中的这行代码“Datatables.Unload(客户|客户其它联系,就跳出错误提示“未将对象引用设置到对象的实例”。而当我把预先设置的{客户}与{客户其它联系}之间的关联删除后,就不会报错了,正常了。

请帮忙看一下,问题出在哪里了?


问题二,为什么我设置的messagebox.show("drp客户代码控件text变化:xxxx"),会被重复触发5呢?

 

谢谢!


[此贴子已经被作者于2022/5/7 0:09:20编辑过]

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


加好友 发短信
等级:幼狐 帖子:115 积分:1034 威望:0 精华:0 注册:2015/6/19 10:37:00
  发帖心情 Post By:2022/5/6 10:47:00 [只看该作者]

怎么添加不上例子附件呢?

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


加好友 发短信
等级:幼狐 帖子:115 积分:1034 威望:0 精华:0 注册:2015/6/19 10:37:00
  发帖心情 Post By:2022/5/6 10:57:00 [只看该作者]

好像不能大于2M,我重做一个例子吧
[此贴子已经被作者于2022/5/6 13:06:38编辑过]

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


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

http://www.foxtable.com/webhelp/topics/2756.htm

重要提示:

如果两个或多个表之间建立了关联,那么这些表必须在同一个Unload方法中同时卸载,不可以分别卸载。


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


加好友 发短信
等级:幼狐 帖子:115 积分:1034 威望:0 精华:0 注册:2015/6/19 10:37:00
  发帖心情 Post By:2022/5/6 13:25:00 [只看该作者]

例子上传如下,
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试1.foxdb
请指教,感谢!!!

@蓝大师,
我在”主窗口-客户“的ItemClick事件中有写如下代码:


If DataTables.Contains("客户") And DataTables.Contains("客户其它联系") Then
    messagebox.show(12)
    DataTables.Unload("客户|客户其它联系")  '卸载表
    messagebox.show(13)
End If  
                    If Forms("主窗口-客户").Opened Then
                        Forms("主窗口-客户").Close()
                    End If
                    messagebox.show(14)
                    
                End If
            End If
            

可还是不行啊?图片点击可在新窗口打开查看


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

另,问题二,在例子中不再出现了,就算解决了。我自行对比例子与实际项目,就可对分找到差别就可解决了。




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


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/6 13:41:00 [只看该作者]

所有和"客户|客户其它联系"这2个表有直接或者间接关联的其它表也必须一起卸载,比如表A和客户有关联,表A也要一起卸载,同时如果表B和表A有关联,表B也要一起卸载,....

个人的建议是,如果关联比较复杂,加载的表就不用卸载了。

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


加好友 发短信
等级:幼狐 帖子:115 积分:1034 威望:0 精华:0 注册:2015/6/19 10:37:00
  发帖心情 Post By:2022/5/6 16:40:00 [只看该作者]

好的,明白了。

十分谢谢!

 回到顶部