Foxtable(狐表)用户栏目专家坐堂 → 用狐表设计的一个软件,如何达到我要的目的!!


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

主题:用狐表设计的一个软件,如何达到我要的目的!!

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


加好友 发短信
等级:一尾狐 帖子:483 积分:2913 威望:0 精华:0 注册:2008/9/21 16:18:00
用狐表设计的一个软件,如何达到我要的目的!!  发帖心情 Post By:2009/6/25 16:53:00 [只看该作者]

用狐表设计的一个软件,单位性质有两种:其他事业单位、义务教育学校;当单位性质选择其他事业单位时,后面的单位名称可供选择的就只有计生站而不出现学校?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/6/25 17:09:00 [只看该作者]

数据这样摆列:
义务教育学校 桐梓县娄山关镇中心学校
义务教育学校 桐梓县楚米镇中心学校
义务教育学校 桐梓县松坎镇中心学校
其他事业单位 桐梓县楚米镇计生站
其他事业单位 桐梓县娄山关镇计生站
然后参考帮助中的有关说明,比如开发篇-表事件-PrepareEdit
建议看帮助2-3遍,你的提问实在是很基础的

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


加好友 发短信
等级:三尾狐 帖子:719 积分:5181 威望:0 精华:1 注册:2008/9/24 10:41:00
  发帖心情 Post By:2009/6/25 17:16:00 [只看该作者]

CurrentTableChanged

选择不同表后执行,也就是CurrentTable发生变化后执行。
此事件无e参数,这是因为系统变量CurrentTable可以直接返回所选择的表。

如果我们选择不同的主表,会先后触发MainTableChanged和CurrentTableChanged事件,因为此时MainTable和CurrentTable都发生了变化。
如果我们选择一个关联表,那么只会触发CurrentTableChanged事件,因为此时只有CurrentTable发生了变化。

例如将CurrentTableChanged事件代码设为:

If CurrentTable.DataTable.Name = "订单" Then '如果选择的主表是订单表
    CurrentTable.Cols("客户").Combolist = DataTables("客户").GetComboListString("公司名称")
End
If

这样我们每次选择一个Table,如果这个Table的数据来自于订单表,都会从客户表提取公司名称,作为该表客户列的列表项目。



动态列表项目之二

更多的时候,列表项目来自于某个表中已经输入的记录,例如客户表已经输入所有的客户名称及资料,那么订单表的客户名称列的列表项目,应该自动从客户表的客户名称列提取。

如果列表项目来自于某个表的某一列,而这个表会经常增加删除行;那么可以在项目事件MainTableChanged中设置代码提取列表项目。

例如:

If MainTable.Name = "订单" Then '如果选择的主表是订单表
    Tables("订单").Cols("客户").Combolist = DataTables("客户").GetComboListString("公司名称")
End
If

上面的代码从客户表提取公司名称,作为订单表客户列的列表项目,由于经常会增加删除客户,所以我们将上面的代码设置在MainTableChanged事件中,这样每次切换到订单表,就会重新设置订单表客户列的列表项目,保证其内容是最新的。

如果某列的列表项目不仅来自于另一个表,而且要根据其它列已经输入的内容来决定显示那些条目,那么这样的代码就只能设置在表事件PrepareEdit中。

例如:

If e.IsFocusCell Then '如果是焦点所在单元格
   
If e.Col.Name = "县市" Then '如果正在编辑的是县市列
        '从行政区域表提取该省事的县市作为列表项目

        e.Col.Combolist =
DataTables("行政区域").GetComboListString("县市", "[省市] = '" & e.Row("省市") & "'")
   
End If
End
If

上面的代码,根据省市列输入的内容,从行政区域表提取该省市的所有县市,作为县市列的列表项目,这种根据另一列内容来刷新新列表项目的代码,必须设置在PrepareEdit事件中。

还有一个最简单的情况,即列表项目来自于某个表的某一列,而这个来源表的内容基本是固定,很少机会增加或删除行,那么可以将代码设置在项目事件AfterOpenProject中。

例如:

Tables("客户").Cols("省市").Combolist = DataTables("行政区域").GetComboListString("省市")

上面的代码从行政区域表提取省市列的内容, 作为客户表省市列的列表项目,由于行政区域是固定的,基本上不需要增加删除行,所以从这个表中提取数据作为列表项目,代码可设置在AfterOpenProject事件中。


 回到顶部
美女呀,离线,留言给我吧!
yangming
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/6/25 17:32:00 [只看该作者]

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:列表项目.table


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


加好友 发短信
等级:一尾狐 帖子:483 积分:2913 威望:0 精华:0 注册:2008/9/21 16:18:00
  发帖心情 Post By:2009/6/30 16:03:00 [只看该作者]

我要的是在录入窗口内实现

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


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

以下是引用杨浩在2009-6-30 16:03:00的发言:
我要的是在录入窗口内实现


看看帮助中的:

开发篇 - 窗口设计 - 其他 - 窗口中的动态列表项目.


 回到顶部
美女呀,离线,留言给我吧!
shaof
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:67 积分:491 威望:0 精华:0 注册:2008/9/11 15:30:00
  发帖心情 Post By:2009/6/30 16:22:00 [只看该作者]

你应该多看一下帮助



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


 回到顶部
美女呀,离线,留言给我吧!
shaof
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:67 积分:491 威望:0 精华:0 注册:2008/9/11 15:30:00
  发帖心情 Post By:2009/6/30 16:28:00 [只看该作者]

狐爸,有问题了,看上面的文件,假如独立窗口自动打开,窗口项目不会生成,如果手动打开窗口则可以,为何?

 回到顶部
美女呀,离线,留言给我吧!
yangming
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
如何导入大量的数据资料  发帖心情 Post By:2009/6/30 16:30:00 [只看该作者]

参看帮助文件;窗口中的动态列表项目


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


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

以下是引用shaof在2009-6-30 16:28:00的发言:
狐爸,有问题了,看上面的文件,假如独立窗口自动打开,窗口项目不会生成,如果手动打开窗口则可以,为何?


如果然,居然还有这种问题.


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