Foxtable(狐表)用户栏目专家坐堂 → 关联表的关联列


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

主题:关联表的关联列

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


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
关联表的关联列  发帖心情 Post By:2009/6/24 10:20:00 [只看该作者]

A表与B表相关联,为了多用户同时操作,我的方法是:

用A表的ID列------SQL数据库中的自增列  INT 整数型
与B表的RID-------int 整理型  相关联

请问这样合理吗?为什么总出错!

我现在发现问题了,因为我用的方式是SQL数据库动态加载,我在A表中新增加记录时,还没有加载A表数据,所以新增记录的ID为0, 有什么办法解决,谢谢!
[此贴子已经被作者于2009-6-24 10:24:39编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/6/24 10:25:00 [只看该作者]

应该没问题的,报错是什么?

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/6/24 10:33:00 [只看该作者]

我在A表中新增加记录时,还没有加载A表数据,所以新增记录的ID为0

这是什么意思? 自动增量应该不存在这个问题啊,即使新增为0,保存的时候,也能生成正确的ID

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2009/6/24 11:20:00 [只看该作者]

以下是引用狐狸爸爸在2009-6-24 10:33:00的发言:
我在A表中新增加记录时,还没有加载A表数据,所以新增记录的ID为0

这是什么意思? 自动增量应该不存在这个问题啊,即使新增为0,保存的时候,也能生成正确的ID

对啊!


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


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
  发帖心情 Post By:2009/6/24 14:21:00 [只看该作者]

举例说明一下:
我[出库主表] 以“ID”为SQL数据表主键字段


图片点击可在新窗口打开查看此主题相关图片如下:1111.gif
图片点击可在新窗口打开查看

为了实现动态加载,在项目BeforeLoadOuterTable中代码如下:
If e.DataTableName = "出库主表" AndAlso e.User.Name = "开发者" Then
e.SelectString = "Select * From [出库主表] Where ID='0'"
End If
If e.DataTableName = "出库明细" AndAlso e.User.Name = "开发者" Then
e.SelectString = "Select * From [出库明细] Where ID='0'"
End If

现在问题是如果没有加载数量,直接通过按键的chick代码:
Tables("出库主表").AddNew()
Forms("出库主表加").Open()

新增记录时,ID为0,而不是原来最大值加1,如下图:

图片点击可在新窗口打开查看此主题相关图片如下:22222.gif
图片点击可在新窗口打开查看

问题是如何让ID在没有加载全部数据的时候,新增记录时,也能在原来最大值的基本上加1?

 回到顶部
美女呀,离线,留言给我吧!
yangming
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/6/24 15:34:00 [只看该作者]

你不加载数据库,如果新增记录并加1啊?

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/6/24 15:34:00 [只看该作者]

你不用担心的,虽然新增的是0,但是你保存一下,就不是0了,自动在原来的最大值加1,就象你希望的那样。

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


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
  发帖心情 Post By:2009/6/24 20:57:00 [只看该作者]

不行啊,我用此ID列与B表的RID相关联, 在B表中增加关联记录的时间, RID就是"0",所以保存时就会出错啊.

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/6/24 21:00:00 [只看该作者]

设置关联的时候,选择选项“自动更新关联列内容”

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


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
  发帖心情 Post By:2009/7/11 11:49:00 [只看该作者]

好的,谢谢!

 回到顶部