VFP 连号查询

Clear
Clear All
CREATE CURSOR test (数字 N(5,0))
INSERT INTO test values(7)
INSERT INTO test values(88)
INSERT INTO test values(9)
INSERT INTO test values(8)
INSERT INTO test values(103)
INSERT INTO test values(12)
INSERT INTO test values(11)
INSERT INTO test values(102)
INSERT INTO test values(101)
Sort To test_order_A On 数字

Create Cursor test1 (数字 N(5,0),组 I)
APPEND FROM test_order_A
Replace All 组 With recno()-数字
Index On 组 Tag zhu Descending Unique
Copy To Fz
Set Order To
Select 0
Use Fz
Scan
    Select test1
    Calculate Min(数字),Max(数字) To nMin,nMax For 组=Fz.组
    ?Transform(nMin)+"-"+Transform(nMax)
EndScan

Clear all
Erase test_order_A.Dbf
Erase Fz.Dbf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
看实例学VFP:复选框控件 时间:2009-03-24来源:编程入门网 作者:老马   在vfp基础教程-复选框一文,已经给出了复选框控件的常用属性。这个控件的使用重点是对它的value属性值的判断上,另外也可以通过controlsource属性把它和表的某个逻辑型字段绑定,同时也可以在它支持的click、interactiveChange等事件进行编程。   本文是一个在复选框控件的interactiveChange事件编程的小例子,运行时通过复选框的选择来控制label控件的文字大小及颜色变化,运行界面如下:   制作步骤:   一、新建表单,将其caption属性值设置为“编程入门网-复选框控件”,保存为“复选框控件.scx”。   二、向表单上添加一个label控件,caption属性值设为“编程入门网”,fontsize属性值设为10,AutoSize属性值设为.t.,Forecolor属性值设为“0,0,255”(rgb颜色)   三、向表单添加两个复选框控件,caption属性值依次设置为“增大字号”和“改变颜色”,其它属性值采用默认的。   四、添加事件代码:   1.复选框check1(“增大字号”)的interactiveChange事件: if this.value=1 thisform.label1.fontsize=18 else thisform.label1.fontsize=10 endif   2.复选框check2(“改变颜色”)的interactiveChange事件: if this.value=1 thisform.label1.forecolor=rgb(255,0,0) else thisform.label1.forecolor=rgb(0,0,255) endif
看实例学VFP:更复杂的查询 时间:2009-02-12来源:编程入门网 作者:老马   在看实例学VFP:对表记录进行定位与查找操作及看实例学VFP:用SELECT语句创建查询这两个例子,我们可以在查询时可以从组合框选定一个要查询的字段。本例对这种查询方式再做进一步改进,使之在查询时不仅可以从一个组合框选取要查询的字段,还可以从另一个组合框选定操作符(如<、=、>等),从而实现更复杂的查询。本例应用到了数据环境,并使用“数据1”数据库的“人员信息表”作为数据环境的数据源,关于该数据库的情况已经在看实例学VFP:示例数据库一文给出,这里不再详述。运行界面见本文末尾。   制作步骤如下:   一、新建表单,将其caption属性值设置为“更复杂的查询例子”,AutoCenter属性值设置为.T.,width属性值设置为520,height属性值设置为245,并保存为“更复杂的查询例子.scx”。   二、右击表单空白处,选“数据环境”命令,将“人员信息表”添加到数据环境。在“数据环境设计器”拖动“人员信息表”的标题栏到表单上,自动生成一个表格控件。由于是从数据环境把“人员信息表”拖动过来由系统自动生成的,该表格控件的RecordSource属性及RecordSourceType属性已经由系统设置好了,不用管它,但name属性值系统给出的好长,为了书写代码的方便,我们把这个表格控件的name属性值修改为“grid1”。   三、在表格控件的下方添加一个Label控件,并把它的caption属性值设置为“查询条件”。   四、在label控件的右侧依次添加两个组合框控件、一个文本框控件及两个命令按钮command1和command2,并把这两个命令按钮的caption属性值依次设置为“查找”和“退出”。   五、适当调整各控件在表单上的位置,调整后的表单设计器如下图所示:   六、设置组合框控件的属性:   (一)组合框Combo1:RecordSourceType属性值设置为“8-结构”,RecordSource属性值设置为“人员信息表”。   (二)组合框Combo2:RecordSourceType属性值设置为“1-值”,RecordSource属性值设置为“,>,<,=,>=,<=,<>”。   七、添加事件代码:   (一)表单的unload事件代码:close data   (二)组合框Combo1的InteractiveChange事件代码: if alltrim(this.displayvalue)="出生日期" thisform.text1.value={} else thisform.text1.value='' endif   (三)“查找”按钮command1的click事件代码: if thisform.grid1.recordsource='临时人员信息表' thisform.grid1.recordsource='人员信息表' endif' private CXTJ if empty(thisform.combo1.displayvalue) or empty(thisform.combo2.displayvalue) ; or empty(thisform.text1.value) && 判断列表框和文本框是否为空 messagebox('请输入完整条件!',16,'系统提示') thisform.combo1.setfocus else do case case alltrim(thisform.Combo1.Displayvalue)='基本工资' CXTJ=alltrim(thisform.combo1.displayvalue); +' '+alltrim(thisform.combo2.displayvalue); +' '+alltrim(thisform.text1.value) case alltrim(thisform.Combo1.Displayvalue)='出生日期' CXTJ=alltrim(thisform.combo1.displayvalue); +' '+alltrim(thisform.combo2.displayvalue); +' ctod("'+dtoc(thisform.text1.value)+'")' otherwise CXTJ=alltrim(thisform.combo1.displayvalue); +' '+alltrim(thisform.combo2.displayvalue); +' "'+alltrim(thisform.text1.value)+'"' endcase Select * from 人员信息表 where &CXTJ. into cursor 临时人员信息表 thisform.grid1.recordsource='临时人员信息表' thisform.grid1.backcolor=rgb(200,224,248) endif   (四)“退出”按钮command2的click事件代码:thisform.release   八、运行“更复杂的查询例子.scx”,界面见下图:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值