Foxtable(狐表)用户栏目专家坐堂 → [原创]菜鸟也能用foxtable开发自己的应用程序,图文视频教程[连载结束,整理至1楼]


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

主题:[原创]菜鸟也能用foxtable开发自己的应用程序,图文视频教程[连载结束,整理至1楼]

帅哥哟,离线,有人找我吗?
独木成林
  81楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:50 积分:494 威望:0 精华:0 注册:2012/3/20 16:06:00
  发帖心情 Post By:2013/1/21 21:28:00 [只看该作者]

不错

 回到顶部
帅哥哟,离线,有人找我吗?
独木成林
  82楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:50 积分:494 威望:0 精华:0 注册:2012/3/20 16:06:00
  发帖心情 Post By:2013/1/21 21:46:00 [只看该作者]

必须顶起来

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


加好友 发短信
等级:五尾狐 帖子:1123 积分:10998 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2013/1/21 21:50:00 [只看该作者]

先顶再看

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


加好友 发短信
等级:三尾狐 帖子:619 积分:3656 威望:0 精华:1 注册:2012/6/13 22:00:00
  发帖心情 Post By:2013/1/21 22:07:00 [只看该作者]

截止到现在,我们的第一张表已经成功创建了;而且具备了基本的功能。

让我们再来回顾一下:


此主题相关图片如下:33.png
按此在新窗口浏览图片

从这个图上,你学到了什么呢?

这个表从最开始做,到完成,我最开始学习的时候花了 3天的时间去完成,理解花了3个月,不知道您现在理解了么?



对于这张表,你还有哪里不清楚的呢?

或者有更多的功能需要添加?

欢迎您交流!

 

 

正如PPT中所述,千万不要一开始就大而全,具备基本的功能后再考虑其他!

至此,第一章节结束!




[此贴子已经被作者于2013-1-21 23:01:40编辑过]

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


加好友 发短信
等级:婴狐 帖子:19 积分:509 威望:0 精华:0 注册:2012/2/9 23:20:00
  发帖心情 Post By:2013/1/21 22:57:00 [只看该作者]

是的

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


加好友 发短信
等级:三尾狐 帖子:619 积分:3656 威望:0 精华:1 注册:2012/6/13 22:00:00
  发帖心情 Post By:2013/1/21 23:02:00 [只看该作者]

第一章目录

第一章,创建会员表同时为会员表设置其必要的事件

项目介绍,1

开场PPT 2,3

软件介绍及下载,456

第一章节所需要的文件及讲解提纲下载  7

系统设置的预见性——增加时候的事件 13

系统设置的预见性——修改编辑事件  14

系统设置的预见性——保存事件 22

其他事项——表达式 23

其他事项——项目列表  24

其他事项——特殊字段  24

第一章总结 85


(这里提示一下,论坛每页显示10个贴,这样大家翻页容易些)

其实这个总结,给大家分享,也是为自己做一个小节。


让我们都从“创建狐表的第一张表”开始自己的狐表之旅吧


大家在学习的过程中,请千万的不要着急,也不要想一口吃个胖子,类似这样“什么都需要一下子”、“很快的”、“完成很多功能”、“让自己的表格像个软件”,这样的想法可以有,但是不可以马上有。

一步步的学习,你会觉得学习是一件很有趣的事情,而不像原来那么枯燥


祝大家学习顺利!

[此贴子已经被作者于2013-1-21 23:19:48编辑过]

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


加好友 发短信
等级:三尾狐 帖子:619 积分:3656 威望:0 精华:1 注册:2012/6/13 22:00:00
  发帖心情 Post By:2013/1/21 23:25:00 [只看该作者]

有了第一章作为铺垫,如果大家认真学习了,那么后面的内容应该比较简单了。

第二章中主要还是重复第一章的部分内容,有些内容会深入讲解一下,涉及与第一章类似的内容,就只贴代码,不解释了。新的内容,会延伸的讲解一下,基本上都是帮助的内容,我没有做任何原理上的修改,如果大家有什么疑问,请论坛发帖,谢谢!

 

第二章内容简介:

快速建立会员充值表,并设置表事件

快速建立会员消费表,并设置表事件

快速建立会员消费明细表,并设置表事件

快速建立产品表,并设置表事件

其他知识链接


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


加好友 发短信
等级:三尾狐 帖子:619 积分:3656 威望:0 精华:1 注册:2012/6/13 22:00:00
  发帖心情 Post By:2013/1/21 23:42:00 [只看该作者]

第二章,

第一部分,快速建立会员充值表,并设置表事件

1)会员充值表的表结构,如图(同时设置其各个字段的类型)


此主题相关图片如下:121.png
按此在新窗口浏览图片
我们还是按照步骤来做吧

系统设置的预见性


此主题相关图片如下:122.png
按此在新窗口浏览图片
系统设置的预见性——增加时候的事件 

当添加一条新的充值记录的时候,各个字段的状态

充值编号,自动增加;

会员卡号,默认为主表的会员卡号;

支付金额,赠送金额,默认0

充值金额为:支付金额+赠送金额;(这个需要即时呈现,因此需要用表达式,否则用代码)

支付时间:为当前时间:

操作类型:默认为充值操作

操作人:为系统登录用户

备注:特定格式 操作人,时间,为,某人 ,执行,操作类型,金额为;(其中),这个部分不需要即时显示,采用代码既可

上述是分析的结果,现在我们来实现这个功能

充值编号:

设置表达式,为[_identify],同时进行美化,代码如下

'CZ' + SubString('000000', 1, 6 - Len(Convert([_Identify],'System.String'))) + Convert([_Identify], 'System.String')

支付金额,赠送金额,支付时间,操作类型,操作人的设置:

'e.DataRow("支付金额") = 0

e.DataRow("赠送金额") = 0

e.DataRow("支付时间") = Date.Today

e.DataRow("操作类型") = "充值操作"

e.DataRow("操作人") = User.Name

充值金额,计算方法为:

充值金额 = 支付金额 + 赠送金额

这个因为需要即时显示出来,所以用表达式比较靠谱


[此贴子已经被作者于2013-1-21 23:44:20编辑过]

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


加好友 发短信
等级:三尾狐 帖子:619 积分:3656 威望:0 精华:1 注册:2012/6/13 22:00:00
  发帖心情 Post By:2013/1/21 23:44:00 [只看该作者]

系统设置的预见性——编辑修改的候的事件

1.进入单元格的时候希望通过窗口操作,其他操作一律取消;
2.双击单元格,打开一个窗口 默认情况下激活编辑功能,一旦编辑功能受限,那么激活doubleclick功能
3.希望此表作为副本表或者其他表的时候,怎么双击都可以弹出一个窗口; 


我们查看一下表的属性,观察事件

此主题相关图片如下:43.png
按此在新窗口浏览图片
这些事件,主要涉及的是编辑的控制,我们需要的是双击单元格的时候,取消其默认的编辑功能,同时打开某个窗口。方法如下:

取消默认的编辑:

当我们打开prepareedit的时候,自动弹出帮助文件

PrepareEdit

准备编辑单元格的时候执行。

e参数属性:

Table:       准备编辑的表
Row:         准备编辑的行
Col:         准备编辑的列
IsFocusCell: 逻辑型,是否是焦点单元格    
Cancel:      逻辑型,默认为False,设为True取消编辑。

重要提示:千万不要在PrepareEdit事件显示Messagebox这样的对话框,因为每次进入单元格就会出现提示,这样会导致死循环的出现。


prepareedit中,写入: e.Cancel = True



     双击一个单元格,打开一个窗口:
     

DoubleClick事件代码设为:Forms("窗口1").Open()


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


加好友 发短信
等级:三尾狐 帖子:619 积分:3656 威望:0 精华:1 注册:2012/6/13 22:00:00
  发帖心情 Post By:2013/1/21 23:47:00 [只看该作者]


系统设置的预见性——保存时候的事件

按照第一章节的讲述,需要设置的事件可能有几个类型

1)某些字段不能为空

2)保存的时候删除一些为空的数据行

其实,我们细分发现,这两个其实有矛盾的,既然已经显示某些字段不能为空,怎么会有为空的数据行呢?这里只是作为学习的一种演示。


按照第一章节的介绍,我们很容易的设置某些字段为空,这里不细讲了,假如我们设置“会员姓名”,“充值金额”不能为空,代码如下

If e.DataRow("会员姓名") = "" Then

MessageBox.Show("这个字段不能为空")

End If

保存的时候需要删除,会员姓名为空的数据行,怎么处理呢?

通过查询帮助关键词“删除符合条件的行”,得到结果

DeleteFor

删除符合条件的行。

语法:

DeleteFor(Filter)

我们的代码如何写呢?

Deletefor([会员卡号] is null )



为什么会这么写?


首先,我们关注这个结构:DeleteFor(Filter)

其中的filter是一个条件表达式,既然是表达式,那么必须用双引号括起来。

至于[,那个非必须的,当然我们也可以写成 Deletefor(会员卡号 is null )


关于空值和非空值,为了避免以后再出问题,总结帮助文件得出结论如下:


一般情况下,尽量采用 is null isnot null ,其他的可以不考虑;


具体细节请参见帮助文件对于空值的描述!



如果大家觉得,写条件表达式还是比较有困难的话,推荐大家一款免费的好用的,评价度极高的辅助软件【EBQ】,可以帮助大家!

截图如下:


图片点击可在新窗口打开查看

依靠这个软件,基本的条件表达式应该没有什么问题了。

[此贴子已经被作者于2013-1-21 23:48:28编辑过]

 回到顶部