Foxtable(狐表)用户栏目专家坐堂 → 查询与赋值并存


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

主题:查询与赋值并存

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/11 22:48:00 [显示全部帖子]

 你这个不是查询和赋值并存。你两个是不同的表。

 

 慢的原因是你用了 SQLFind,改成find更好(也就是把表的数据都加载出来),这样比直接用sqlfind效率要高。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/11 23:07:00 [显示全部帖子]

以下是引用阿福在2015/8/11 22:53:00的发言:
谢谢大红袍老师,还有其他方法?因为全部加载可能要100万条数据,也很费时间!

 

那就只能用sql语句来处理了。

 

这句,把两表连接起来,得到分娩是空值的记录

 

select * fr om {基本信息} as a left join {断奶信息} as b on a.编号 = b.编号 where sys_user = '张三' and 分娩_日期 is null

 

然后,你可以根据这个表往 母猪转产房 增加行(用代码的方法或sql语句都可以)

 

insert into {母猪转产房} (编号, 预计分娩日期) select a.编号, b.配种日期 fr om {基本信息} as a left join {断奶信息} as b on a.编号 = b.编号 where sys_user = '张三' and 分娩_日期 is null


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/11 23:09:00 [显示全部帖子]

如果你对sql语句熟悉,处理起来是很快的效率。

 

测试sql语句参考 http://www.foxtable.com/help/topics/1484.htm

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/11 23:12:00 [显示全部帖子]

 最好是能做例子+数据上来测试。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/12 10:16:00 [显示全部帖子]

多表不能一起编辑保存的。

 

如果编辑保存,就要自己编写代码保存了。

 

比如保存按钮:循环每行数据,如果修改了(rowstate属性),就取出两表的主键,查找到对应的行,把值设置进去(sqlFind方法)保存;如果是新增的情况,就直接新增一行数据保存


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/12 10:48:00 [显示全部帖子]

呃。

 

Tables("窗口1_Table1").AllowEdit = True


 回到顶部