以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于查询表的几个问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127719) |
||||||||||||
-- 作者:amao47kiki2 -- 发布时间:2018/11/20 17:56:00 -- [求助]关于查询表的几个问题 外部数据表信息如附件A、B、C<!--?xml:namespace prefix = "o" ns = "urn:schemas-microsoft-com:office:office" /-->
项目文件是sql外部数据源的,上传好像没啥用 其中 委托单信息表_主表 中的【委托单号】是主键,委托单样品信息表_明细 以及 委托单项目信息表_明细 都是 _Identify 为主键。
一、第一次尝试 用sql语句生成查询表
结果提示“修改了只读数据”,有红色感叹号。测试失败。 二、第二次尝试 我把 委托单信息表_主表 中的【委托单号】修改为非主键,增加了_Identify作为主键列 再次用sql生成查询表 Select Convert(varchar, {委托单信息表_主表}._Identify) + Convert(varchar, 委托单样品信息表_明细._Identify) + Convert(varchar, 委托单项目信息表_明细._Identify) As [_Identify] , {委托单信息表_主表}.委托单号,{委托单样品信息表_明细}.样品编号,{委托单项目信息表_明细}.样品名称,测试项目
Fro【不知道为什么打fr/om会不让我发布!!】】m ({委托单信息表_主表} Left OUTER JOIN {委托单样品信息表_明细} ON {委托单样品信息表_明细}.[委托单号] = {委托单信息表_主表}.[委托单号]) Left OUTER JOIN {委托单项目信息表_明细} ON {委托单项目信息表_明细}.[委托单号] = {委托单信息表_主表}.[委托单号] 报错!提示加载表A失败,system.argumentexception类型为string的datacolumn一旦拥有数据,就无法更改其autoincrement
后来我把Select Convert **** as [_Identify] 改为 Select Convert **** as [Identify] 就成功了。 这是想要的数据,不过希望隐藏Identify列 请问两次尝试报错是怎么回事??要如何修改??? [此贴子已经被作者于2018/11/20 18:17:08编辑过]
|
||||||||||||
-- 作者:有点甜 -- 发布时间:2018/11/20 18:19:00 -- 首先,查询表的报错,很多都是【无缘由】的。
如果出现叹号,去掉叹号即可
Dim dt = DataTables("表A").basetable
|
||||||||||||
-- 作者:amao47kiki2 -- 发布时间:2018/11/20 19:26:00 -- 但是 1,为什么不能用外部数据源中的主键呢? 2,为什么不能隐藏indetify呢? |
||||||||||||
-- 作者:有点蓝 -- 发布时间:2018/11/20 19:59:00 -- 1、可以的,如果用外部数据源中的主键,新增后必须马上给主键赋值 2、如果不需要indetify,直接删除即可
|
||||||||||||
-- 作者:amao47kiki2 -- 发布时间:2018/11/20 21:55:00 -- 最后还是调整了sql语句,成功了! SELECT 委托单项目信息表_明细._Identify, 委托单信息表_主表.委托单号, 委托单样品信息表_明细.样品编号, 委托单项目信息表_明细.样品名称, 测试项目 FR***OM 委托单信息表_主表 left JOIN 委托单样品信息表_明细 on 委托单信息表_主表.委托单号 = 委托单样品信息表_明细.委托单号 left JOIN 委托单项目信息表_明细 on 委托单样品信息表_明细.样品编号 = 委托单项目信息表_明细.样品编号 结论就是,其实还是sql语句写得有问题,导致了各种情况!因为出来的数据第一列有重复,而foxtable默认查询表第一列是主键列,不能有重复
[此贴子已经被作者于2018/11/20 22:25:53编辑过]
|