以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 加载外部数据的时候如何限定记录的条数 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77471) |
-- 作者:zhangchi96 -- 发布时间:2015/11/18 21:29:00 -- 加载外部数据的时候如何限定记录的条数 这是一个加载外部数据源中数据的代码: Dim Filter As String Filter = " 台帐年月 = \'201511‘ and 单位 = ’部门1‘ " DataTables("职工").LoadFilter = Filter \'设置加载条件 DataTables("职工").Load() 数据源中 记录有若干条,其中的【台帐年月】有三种201509、201510、201511, 【单位】有两种:部门1、部门2,组合了以后就有6种, 1、请教:如何把每种【台帐年月】及每种【单位】都各加载1条记录,总共6条记录 2、同样 从本地mdb 文件合并数据 Dim mg As New Merger mg.SourcePath = ProjectPath &"\\Data\\职工数据库.mdb" mg.Password = "*****" mg.SourceTableName = "职工表" mg.DataTableName = "职工表" mg.Filter="台帐年月 >= \'201509\' and 台帐年月 <= \'201511\' " mg.Merge() 如何把上述提到的6种情况,每种只合并一条记录过来? [此贴子已经被作者于2015/11/18 22:05:58编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/11/19 9:09:00 -- 1、参考代码
Dim Vals As List(of String())
2、先把数据合并到一张临时表,然后参考1的代码,把临时表的数据合并过去。 |
-- 作者:zhangchi96 -- 发布时间:2015/11/19 9:37:00 -- 请问: 1、第一个问题中,我的[职工]表,是外部数据,我就是为了少加载数据,节约时间的,您写的[来源表]和[接受表]中,哪个是外部数据表呢? 2、第二个问题,我也是为了少读数据,先到临时表,就去了时间了,因为我的数据可能几万条 其实,我就是有一个数据源,想到数据源读取每一种产品中每一种客户的某一列数据,如[首次订货时间],我设计的思路不一定对,如果有其他办法就更好了,我的数据源有两种,第一是在服务器上的,已经建立了数据源连接的,第二种就是在自己电脑上的mdb文件(没有建立外部数据源连接,只能用合并方法调用数据),请老师帮我设计一个最佳的方案代码。
|
-- 作者:大红袍 -- 发布时间:2015/11/19 11:11:00 -- 1、做一个查询表
se lect Distinct 年月,单位 from {表A}
然后,循环每一行,去查其余你需要的后台数据。
2、动态添加成数据源,然后用sql语句读取。
http://www.foxtable.com/help/topics/1944.htm
http://www.foxtable.com/help/topics/2137.htm
|
-- 作者:zhangchi96 -- 发布时间:2015/11/19 14:17:00 -- 第一个问题解决了,但代码发不上去 用的是说明书这一部分的内容:
3.14.4.1 自行编码合并外部数据例如项目中有一个员工表,要从一个外部文件中合并数据到这个员工表中,希望在合并过程中检查身份证号码,如果员工表已经存在相同身份证号码的行,则跳过此行。 [此贴子已经被作者于2015/11/19 14:23:55编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/11/19 15:15:00 -- sql语句,适当加入空格才能发上来的,如 se lect Distinct 年月,单位 from {表A}
|
-- 作者:zhangchi96 -- 发布时间:2015/11/19 21:53:00 -- 由于我的数据每次保存的时候都重新排序,及【排序】都存在 等于 1的情况,运行后得到需要的结果了 1、 \'------ 用加载数据的方法清空网络教职工----- Dim Filter2 As String Filter2 = "台帐年月 = \'201511\' And 排序 = 1 And (是否在职 = \'在职\' Or 是否在职 = \'离退\' ) " DataTables("网络职工").LoadFilter = Filter2 \'设置加载条件 DataTables("网络职工").Load() 2、 Dim mg As New Merger mg.SourcePath = ProjectPath &"\\Data\\杏花教育信息数据库.mdb" \'指定数据文件 mg.Password = "zhangruomei" mg.SourceTableName = "职工信息表" \'指定要导入的表 mg.DataTableName = "比对表" \'导入后的表名 mg.Filter = "台帐年月 = \'201511‘ And 排序 = 1 And (是否在职 = \'在职\' Or 是否在职 = \'离退\' ) " mg.Merge()
|