Foxtable(狐表)用户栏目专家坐堂 → 请问一下,当关联两个表时,是一对多的,为了防止出现id部位空,且id只能唯一的情况,我能不能先在项目中建两个表,然后冲定向到数据库中,这样既可以实现一对多了,且有些id也不是必填的了,这样可以吗?


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

主题:请问一下,当关联两个表时,是一对多的,为了防止出现id部位空,且id只能唯一的情况,我能不能先在项目中建两个表,然后冲定向到数据库中,这样既可以实现一对多了,且有些id也不是必填的了,这样可以吗?

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110808 积分:563978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/13 9:42:00 [显示全部帖子]

一对多是什么意思:父表一行对应子表多行?还是一个父表对应多个子表?

不过是那种都和重定向没有任何关系,也和是内部表还是外部表没有任何关系

看不懂你要表达的意思

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


加好友 发短信
等级:超级版主 帖子:110808 积分:563978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/13 10:03:00 [显示全部帖子]

截图说明一下到底要做什么?

子表只需要有父表的关联列,和父表的主键没有直接关系

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


加好友 发短信
等级:超级版主 帖子:110808 积分:563978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/13 10:27:00 [显示全部帖子]

“张数”是哪个表的主键?哪个是父表?哪个是子表

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


加好友 发短信
等级:超级版主 帖子:110808 积分:563978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/13 10:35:00 [显示全部帖子]

既然要重复就不能用做主键。为什么不能用_Identify做自增主键?

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


加好友 发短信
等级:超级版主 帖子:110808 积分:563978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/13 10:59:00 [显示全部帖子]

不能绑定,用compute计算:http://www.foxtable.com/webhelp/scr/0548.htm

datacolchanged

if 窗口打开 then
窗口.总和控件 = tables(窗口表).compute("sum(金额)")
end if

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


加好友 发短信
等级:超级版主 帖子:110808 积分:563978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/13 11:27:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:110808 积分:563978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/13 12:10:00 [显示全部帖子]

学会变通

Dim str As String = e.form.controls("Textbox1").Text
Dim filter As String = "1=2"
For Each c As Col In CurrentTable.Cols
    filter &= " or convert(" & c.name & ",'System.String') like '%" & str & "%'"
Next
Dim idx As Integer = CurrentTable.FindRow(filter,CurrentTable.Position+1)
If idx > -1 Then
    CurrentTable.Position = idx
End If

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


加好友 发短信
等级:超级版主 帖子:110808 积分:563978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/13 15:00:00 [显示全部帖子]

Dim str As String = forms("某某窗口").controls("Textbox1").Text

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


加好友 发短信
等级:超级版主 帖子:110808 积分:563978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/13 15:26:00 [显示全部帖子]

去掉保存表和加载表的代码。然后先判断窗口是否打开

if 窗口打开 then
窗口.总和控件 = tables(窗口表).compute("sum(金额)")
end if

 回到顶部