| 网站首页 | 业界新闻 | 群组 | 人才 | 技术文章 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 452 人关注过本帖
标题:怎么在表单中实现,根据学号显示、修改专业
只看楼主 收藏
wedsic
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2017-7-17
结帖率:66.67%
  已结贴   问题点数:10  回复次数:8   
怎么在表单中实现,根据学号显示、修改专业
如下:


[此贴子已经被作者于2017-8-11 16:33编辑过]

2017-08-10 23:40
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:114
帖 子:4360
专家分:17027
注 册:2014-5-20
  得分:0 
CREATE CURSOR 表1 (学号 C(10))
INSERT INTO 表1 VALUES ("2056001")
INSERT INTO 表1 VALUES ("3078002")
CREATE CURSOR 表2 (代码 C(2), 专业名 C(10))
INSERT INTO 表2 VALUES ("78","物理专业")
INSERT INTO 表2 VALUES ("56","化学专业")
INDEX on 代码 TAG 代码
SELECT 表1
SET RELATION TO SUBSTR(学号,3,2) INTO 表2
BROWSE FIELDS 表1.学号, 表2.专业名
SET RELATION TO
2017-08-11 04:57
wedsic
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2017-7-17
  得分:0 
回复 2楼 吹水佬
不用命令,在表单上如何实现
2017-08-11 09:11
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:114
帖 子:4360
专家分:17027
注 册:2014-5-20
  得分:0 
以下是引用wedsic在2017-8-11 09:11:12的发言:

不用命令,在表单上如何实现

理解SET RELATION TO命令就可以,其他自由发挥。
2017-08-11 10:11
wedsic
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2017-7-17
  得分:0 
回复 4楼 吹水佬
理解,但是在表单里利用控件就不会用了
2017-08-11 10:49
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:114
帖 子:4360
专家分:17027
注 册:2014-5-20
  得分:0 
以下是引用wedsic在2017-8-11 10:49:43的发言:

理解,但是在表单里利用控件就不会用了

可以谈谈你的表单是想怎样处理那些表的数据。
2017-08-11 16:19
wedsic
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2017-7-17
  得分:0 
回复 6楼 吹水佬
如下:

 学生表中字段:                 学号
                               2056001
                                3078002
                             (学号已建立主索引)

 专业表中字段:                代码    专业名
                                56    化学专业
                                78    物理专业
                                ...     ...
表单上的控件:
①浏览学生表的2个按钮按钮,上一个、下一个   
②2个编辑按钮:增加记录、修改记录   
③一个文本框、一个组合框



[此贴子已经被作者于2017-8-25 23:11编辑过]

附件: 您没有浏览附件的权限,请 登录注册
2017-08-11 16:33
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:114
帖 子:4360
专家分:17027
注 册:2014-5-20
  得分:10 

** test.prg
CREATE CURSOR 表1 (学号 C(10))
INSERT INTO 表1 VALUES ("2056001")
INSERT INTO 表1 VALUES ("3078002")
CREATE CURSOR 表2 (代码 C(2), 专业名 C(10))
INSERT INTO 表2 VALUES ("78","物理专业")
INSERT INTO 表2 VALUES ("56","化学专业")
INDEX on 代码 TAG 代码
SELECT 表1
SET RELATION TO SUBSTR(学号,3,2) INTO 表2
GO TOP
of = CREATEOBJECT("myForm")
of.show
READ EVENTS
SET RELATION TO
RETURN

DEFINE CLASS myForm as Form
    ADD OBJECT label1 as label WITH top=14,left=10,caption="学号"
    ADD OBJECT text1 as textbox WITH top=10,left=40
    ADD OBJECT label2 as label WITH top=14,left=160,caption="专业名"
    ADD OBJECT combo1 as combobox WITH top=10,left=200,style=2,rowsourcetype=3,;
        rowsource="SELECT 专业名,代码 FROM 表2 INTO CURSOR 专业名列表"
    ADD OBJECT cmd1 as commandbutton WITH top=2,left=320,width=40,height=22,caption="添加"
    ADD OBJECT cmd2 as commandbutton WITH top=26,left=320,width=40,height=22,caption="修改"
    ADD OBJECT grid1 as myGrid WITH top=50
   
    PROCEDURE unload
        CLEAR EVENTS
    ENDPROC
   
    PROCEDURE init
        this.grid1.setfocus
        this.grid1.click
    ENDPROC
        
    PROCEDURE grid1.click
        thisform.text1.value = 表1.学号
        thisform.combo1.value = 表2.专业名
    ENDPROC

    PROCEDURE grid1.AfterRowColChange(nColIndex)
        this.click
    ENDPROC
   
    PROCEDURE combo1.InteractiveChange
        thisform.text1.value = LEFT(thisform.text1.value,2)+专业名列表.代码+SUBSTR(thisform.text1.value,5)
    ENDPROC
   
    PROCEDURE cmd1.click
        IF SEEK(SUBSTR(thisform.text1.value,3,2), "表2")
            INSERT INTO 表1 VALUES (thisform.text1.value)
            thisform.grid1.setfocus
        ELSE
            MESSAGEBOX("学号中专业代码无效")
        ENDIF
    ENDPROC

    PROCEDURE cmd2.click
        IF SEEK(SUBSTR(thisform.text1.value,3,2), "表2")
            REPLACE 表1.学号 WITH thisform.text1.value IN "表1"
            thisform.grid1.setfocus
        ELSE
            MESSAGEBOX("学号中专业代码无效")
        ENDIF
    ENDPROC
ENDDEFINE

DEFINE CLASS myGrid as grid
    RecordSource="表1"
    AllowCellSelection=.F.
    ColumnCount=2
   
    PROCEDURE init
        this.Column1.ControlSource="表1.学号"
        this.Column2.ControlSource="表2.专业名"
    ENDPROC
ENDDEFINE
附件: 您没有浏览附件的权限,请 登录注册
2017-08-11 22:21
wedsic
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2017-7-17
  得分:0 
回复 8楼 吹水佬
谢谢 水大侠
2017-08-13 00:18







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052564 second(s), 8 queries.
Copyright©2004-2017, BCCN.NET, All Rights Reserved