以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  insert into S E L E CT 自增列问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73586)

--  作者:896539326
--  发布时间:2015/8/22 10:34:00
--  insert into S E L E CT 自增列问题
表a _identify 是主键  有三个记录
         1
         2
         3

insert into {表a}  s e l e c t  *  from {表b}(表b中有两条记录)后

我想得到 表a的结果是
_identify 
   1
   2
   3
   4
   5

sql 中 插入表a  自增列 _identify  苦思 得不到解决   ,或者有没有办法 删掉 表a的 identify这个主键限制呢?

--  作者:狐狸爸爸
--  发布时间:2015/8/22 10:41:00
--  

直接通过DataTable和Table的AddNew方法增加行,然后保存就行了,_Identify会自动获取。

Foxtable的目的就是去掉这些恼人的技术环节,让你只需关注业务逻辑


--  作者:有点蓝
--  发布时间:2015/8/22 10:44:00
--  
这种用法是错误的,没有主键将无法进行foxtable接下来的使用
数据填充器

--  作者:896539326
--  发布时间:2015/8/22 10:45:00
--  
可我是后台写的sql代码 实现的功能 后 insert into s e l e c t 的目的是自动生成一个新的单据,用前台的操作方式不行
--  作者:狐狸爸爸
--  发布时间:2015/8/22 10:46:00
--  

一定要自己用Insert的话,可以用AppendLoad追加新增的数据:

 

http://www.foxtable.com/help/topics/2276.htm

 


--  作者:有点蓝
--  发布时间:2015/8/22 10:51:00
--  
把_Identify处理一下,把要合并的字段列出来
sel ect [_Identify]+(sel ect max([_Identify]) from {表A}) as [_Identify],字段1,字段2... from {表B}
--  作者:896539326
--  发布时间:2015/8/22 11:24:00
--  
Dim Filter1 As String =" S elec  t *,\'123\' as 质检单编号 from (s e l e c t 存货编号,存货名称,规格型号,单位,数量,备注 from (s elect {到货单明细表}.[存货编号],{到货单明细表}.[存货名称],{到货单明细表}.[规格型号],{到货单明细表}.[单位],{到货单明细表}.[数量]-{质检单明细表}.[数量] as 数量,{到货单明细表}.[备注] from {到货单明细表},{质检单明细表}"

Dim Filter2 As String="where {到货单明细表}.[存货编号]={质检单明细表}.[存货编号] And {到货单明细表}.[到货单编号]=\'DH20150816002\' and {质检单明细表}.[到货单编号]=\'DH20150816002\') where [数量] not in (0) "

Dim Filter3 As String="UNION S elec t 存货编号,存货名称,规格型号,单位,数量,备注  from {到货单明细表} where [存货编号] not In (S elect [存货编号] from {质检单明细表} where {质检单明细表}.[到货单编号]=\'DH20150816002\') and {到货单明细表}.[到货单编号] =\'DH20150816002\')x"
Dim Filter=Filter1+Filter2+Filter3 

Messagebox.Show(Filter)
DataTables("质检不合格明细表").AppendLoad(Filter, False)
提示 我语法错误,是不是 我的filter 太长了,我运行sql 是可以执行的呢

--  作者:有点蓝
--  发布时间:2015/8/22 11:39:00
--  
appendload不能跨表操作,只能追加当前表中数据
http://www.foxtable.com/help/index.html?n=2276.htm
--  作者:有点蓝
--  发布时间:2015/8/22 11:46:00
--  
多表用表查询器
--  作者:896539326
--  发布时间:2015/8/22 11:58:00
--  有点蓝
sel ect [_Identify]+(sel ect max([_Identify]) from {表A}) as [_Identify],字段1,字段2... from {表B}

刚才试了下 不行