Foxtable(狐表)用户栏目专家坐堂 → 自定义的录入筛选窗口启动时,table表为何还是加载全部的字段?


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

主题:自定义的录入筛选窗口启动时,table表为何还是加载全部的字段?

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


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
自定义的录入筛选窗口启动时,table表为何还是加载全部的字段?  发帖心情 Post By:2010/9/12 22:39:00 [只看该作者]

在afterload设置的代码为:

Dim a As WinForm.TextBox
Dim tbl As WinForm.Table
a = e.Form.Controls("textbox1")
a.Value = Nothing
tbl = e.Form.CreateSQLQuery("Table1", "Select top 10 [_identify], [客户简码],[客户名称],[联系人],[电话],[地址] from {客户档案} ","销售系统")
tbl.SetBounds(10, 10, 600, 400)
e.Form.AddControl(tbl)

 

但是仍然出现全部的字段。甚至上一次模糊查询输入的内容还在窗口中

那里没有弄对..........

[此贴子已经被作者于2010-9-12 23:28:32编辑过]

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


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

你这是创建一个新的Table,和以前没有关系的。

你应该是原来的Table没有删除,你看到的还是原来的Table。


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


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
  发帖心情 Post By:2010/9/13 10:10:00 [只看该作者]

如果就用窗口建好的table,不需要重建。但是要求窗口启动后,table不需要加载全部字段,而是部分字段.怎么弄........


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


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

用Fill

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/9/13 11:55:00 [只看该作者]

感觉有些奇怪了,如果不先RemoveControl而重复增加同一名称控件应该会报错才对,怎么还能看到上次操作的内容呢?

 

 


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/9/13 11:57:00 [只看该作者]

有些明白了,估计楼主看到的是两个完全不同的table

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


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
  发帖心情 Post By:2010/9/14 0:03:00 [只看该作者]

弄不出来:

参考了帮助,只有了这一句:

Tables("窗口1_Table1").fill("select [客户简码],[客户名称],[联系人],[联系人],[所属_省市],[所属_县市] from {客户档案}","销售系统",True)

但是不知道前后完整的语句是什么,怎么弄才能使窗口一出现table就出现我想要的字段,而非加载全部字段。 

窗口这一块还不是很熟........

另外,筛选时最好还不要闪屏

[此贴子已经被作者于2010-9-14 0:05:18编辑过]

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


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

一个问题.创建CreateSQLQuery类型属于副本型,所以你会看到两个表,而且是不同的.请注意这段帮助:

 

Table的双重身份

窗口中的Table具备双重身份,使用不同身份时,类型不同,名称也不同。

作为控件

当作为窗口中的控件时,其类型为WinForm.Table,名称就是设计窗口时赋予的名称。

示例

Dim t As WinForm.Table = e.Form.Controls("Table1")
t.SetBounds(
0,0,400,300)

作为Table

当作为普通的Table使用的时候,其类型自然是Table。
至于名称则要区分两种情况。

如果类型为Normal,且非副本,此时窗口并不会创建新的Table,只是将原来的Table移到窗口中显示,所以其名称自然就等于绑定的Table名称。
例如将订单表移到主窗口后,对其的调用还是和原来一样:

Tables("订单").AllowEdit = True

如果类型为Normal,且为副本,或者类型为SQLTable、SQLQuery,此时窗口会创建一个新的Table,此新Table的名称为:

窗口名称_控件名称

假定这个Table的名称为Table1,且在窗口1中,那么代码中必须使用“窗口1_Table1”的名称来调用此Table:

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

 

 

 

另外,fill的类型你最看看,如果你是表类型调整的话,请注意这一段帮助:

 

Fill方法

Table有一个Fill方法,可以根据指定的SQL语句,从指定的数据源中加载数据。

语法:

Fill(SelectString, IsQuery)

或者

Fill(SelectString, ConnectionName, IsQuery)

SelectString:  Select语句
ConnectionName:可选参数,指定数据源名称
IsQuery:       逻辑型,设为True,将生成SQLQuery型Table,否则生成SQLTable型Table。

SQLTable是数据表,默认是可以编辑和保存的。
SQLQuery是查询表,默认不能编辑,通过将其AllowEdit属性设置为True,可以编辑查询结果,但不能保存编辑结果。

例如:

Tables("窗口1_Table1").Fill("Select * From {客户}","nwnd",True)

不管Table原来是什么类型,显示的是什么数据,执行上述代码后,Table将成为SQLQuery类型,显示nwnd数据源中的客户表数据。

需要特别注意的是,如果只想取部分列生成SQLTable,那么必须包括主键列在内,例如:

Tables("窗口1_Table1").Fill("Select [_Identify],[客户],[数量],[单价] From {订单}",False)

这里假定订单表是内部数据表,内部数据表的主键列是_Identify,如果是外部表,请使用实际的主键列名称。

如果要生成SQLQuery,则没有这个限制:

Tables("窗口1_Table1").Fill("Select [客户],[数量],[单价] From {订单}",True)

一定要注意,如果要生成SQLTable,第二个参数要设置为False,如果要生成SQLQuery,第二个参数则要设置为True,切不可搞混。

判断Table的类型

如果需要判断Table的类型,以及是否是副本,请参考:

TableType
IsCopy


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


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

楼主可以在设计窗口的时候,指定Table的类型,数据源、SQL语句。

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


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
  发帖心情 Post By:2010/9/14 11:47:00 [只看该作者]

投降了,弄了半天搞不出来,各位大侠,帮帮忙:

第一问题:

在“出库表-客户栏”时输入任何一个按键,窗口1就能跳出来。并且光标定位到“窗口1的TextBox1中”

第二个问题:

窗口1跳出来时,table1表,不要加载全部字段,只要部分字段。

这两个怎么弄?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:销售管理系统.table


 回到顶部
总数 13 1 2 下一页