Foxtable(狐表)用户栏目专家坐堂 → 【求助】关于跨表引用


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

主题:【求助】关于跨表引用

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/11 11:11:00 [显示全部帖子]

执行下面的代码,看弹出什么

 

Dim r1 As Row = Tables("obas_emp").current
If r1 Is Nothing Then
    MessageBox.show("请选定目标行","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
Else
    msgbox(111)
    Dim r2 As Row = Tables("oemp_dim").addnew()
    msgbox(Tables("oemp_dim").Cols.Contains("职员编码"))
    r2("职员编码") = r1("emp_no")
    msgbox(222)
    Forms("员工离职编辑").open()
End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/11 11:25:00 [显示全部帖子]

 我测试这段代码是会报错的。

 

 你关闭项目,把项目下的bin文件夹先删除,再打开看看。

 

 如果还有问题,直接把你的项目发上来测试下。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/11 11:55:00 [显示全部帖子]

 你重新引用一次这个表命名为 abc,再测试下abc 是否正常。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/11 12:10:00 [显示全部帖子]

以下是引用10059在2017/4/11 12:04:00的发言:
还是一样

 

单独添加一个新表哦 http://www.foxtable.com/webhelp/scr/1812.htm

 

你把你这个表做个里上来测试下。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/11 15:37:00 [显示全部帖子]

以下是引用10059在2017/4/11 14:20:00的发言:
数据库中的表做例子发上去也连不了啊??

 

把数据库发上来,或者是,抽取一个表格发上来。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/11 16:30:00 [显示全部帖子]

以下是引用10059在2017/4/11 16:05:00的发言:
老师,我从数据库中将这张表导出来,然后高速导入到ft中,测试是没问题的,这是为什么呢??

 

导出导入后,相当于一个新的表了,自然不会有问题。

 

很可能是你外部数据库的问题,把你数据库发上来测试下。

 

如果不影响使用,你暂时先允许其不报错。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/11 16:42:00 [显示全部帖子]

以下是引用10059在2017/4/11 16:40:00的发言:
问题是不报错,但是也没有把数据赋值过去啊,就跟没有那条语句一样。

怎么抽取一个表格发上去??

 

把你的数据库拷贝一份,把多余的表格删除,然后,把数据库发上来测试


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/11 17:49:00 [显示全部帖子]

以下是引用10059在2017/4/11 17:03:00的发言:
数据库中表之间有各种复杂关系,不好删啊!

目的如下,请问老师有没有其他解决方法??

有两张表,分别是“所有员工档案”和“离职员工档案”,当我选中“所有员工档案”中某一行后,单击按钮,然后“离职员工档案”自动增加一行,将“所有员工档案”选中行部分列的数据赋值给“离职员工档案”对应的列,可以在“离职员工档案”保存数据。

 

拷贝数据库。拷贝你的sqlserver或者access数据库,然后删除表,发上来测试,不要影响你原来项目。

 

请单独做一个例子发上来测试。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/12 11:22:00 [显示全部帖子]

 回复19楼,如果是这种问题,是你主键的问题。

 

 你的主键不是自动递增的,必须给主键列赋值以后,才能做其它操作。

 

----------------------------

 Dim r2 As DataRow = DataTables("oemp_dim").addnew()

 r2("emp_no") = r1("emp_no")

 Dim idx As Integer = Tables("oemp_dim").FindRow(r2)

 msgbox(idx)

 Tables("oemp_dim").Position = id

 


 回到顶部