| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3118 人关注过本帖
标题:请教两个修改表结构和组合框数据绑定的问题
取消只看楼主 加入收藏
lyxc34
Rank: 2
等 级:论坛游民
帖 子:139
专家分:50
注 册:2011-7-3
收藏
得分:0 
自定义方法都只有在表单的属性里面能看到,GRID没法直接引用,可能只能用搬运了。
2011-07-17 18:12
lyxc34
Rank: 2
等 级:论坛游民
帖 子:139
专家分:50
注 册:2011-7-3
收藏
得分:0 
别那么快啊,我刚才对照了下我搬了一半的和你搬的,
程序代码:
 NEXT 
            .ReadOnly = .T.
            .LockColumns = 3
            .HeaderHeight = 35
            .RowHeight = 25
        ENDWITH 

之前的我搬的和你一样,后面我还没搬。。。
不过你的有个问题,就是刚才我说的,所有控件的事件方法之中不可以有过程和函数,所以你第一行的PROCEDURE Grid1.Init和最后一行的ENDPRO都得去掉
2011-07-17 18:27
lyxc34
Rank: 2
等 级:论坛游民
帖 子:139
专家分:50
注 册:2011-7-3
收藏
得分:0 
还有个问题,我把后面的那段全是函数的代码写在了一个程序里面,放进了数据库,引用的时候是不是直接在要用到函数之前写上一行SET PROCEDURE TO data\my_function.prg?
2011-07-17 18:30
lyxc34
Rank: 2
等 级:论坛游民
帖 子:139
专家分:50
注 册:2011-7-3
收藏
得分:0 
还有如果下次再把一个内容发了两遍,你可以编辑掉,把内容删除,只留几个空格,这样就不会那么占位子了。
收到的鲜花
  • TonyDeng2011-07-17 18:45 送鲜花  5朵   附言:Ok
2011-07-17 18:34
lyxc34
Rank: 2
等 级:论坛游民
帖 子:139
专家分:50
注 册:2011-7-3
收藏
得分:0 
真没经历过那阶段,我只学过简单的程序设计初步,知道有顺序、循环、条件语句这些,仅此而已。
2011-07-17 18:36
lyxc34
Rank: 2
等 级:论坛游民
帖 子:139
专家分:50
注 册:2011-7-3
收藏
得分:0 
明白了。
我在set_Columns里面看到了一个FOR lnIndex = 1 TO .ColumnCount,可是没有看到endfor ,执行起来居然不报错呢,看了帮助才知道,原来是NEXT结束。。。。。。又学了一个。
2011-07-17 18:44
lyxc34
Rank: 2
等 级:论坛游民
帖 子:139
专家分:50
注 册:2011-7-3
收藏
得分:0 
出了个错,找半天没找到问题所在,提示函数Get_Score找不到变量CJB,原因没找到。
另外
laColumns[lnIndex,2] = "Get_Score(xsb.xh, '" + kcb.kch + "')"
这一行给解释一下,Get_Score要接收的变量应该是学号和课程号,你这里用的是学生表的学号和课程表的课程号,那为什么xsk.xh没有加引号而kch加了引号,还加了两层,函数里面
FUNCTION Get_Score(tcID AS Character, tcCourseID AS Character) AS Number
    RETURN IIF(SEEK(tcID + tcCourseID, "cjb", "m_ID"), cjb.cj, 0.0)
ENDFUNC 

SEEK函数就是在cjb里面找m_ID索引里面是否有xsb.xh+kcb.kch这个记录,有就返回成绩,没有就返回0,那那两个引号到底有什么用?
2011-07-17 20:07
lyxc34
Rank: 2
等 级:论坛游民
帖 子:139
专家分:50
注 册:2011-7-3
收藏
得分:0 
回复 52楼 TonyDeng
数据环境的定义我放在了整个表单的LOAD事件当中,所以应该不会是表没打开啊。而且我挂起后用select cjb;browse是可以显示的,说明已经打开了。
2011-07-17 21:20
lyxc34
Rank: 2
等 级:论坛游民
帖 子:139
专家分:50
注 册:2011-7-3
收藏
得分:0 
回复 53楼 TonyDeng
程序我懂了,
"Get_Score(xsb.xh, '" + kcb.kch + "')"
当中最外面的两层双引号(get前面的和“)”后面的)我知道了是为了把结果以字符串的形式赋值给ControlSource,我现在不理解的是
'" + kcb.kch + "'
这里面的两层引号,里面的双引号和外面的单引号,分别表示什么。get_Score函数里面接受的两个变量类型都是C,加一层引号可以理解为以字符形式传送变量,可是为什么xsb.xh不加,另外一个加两层。
还有个问题,变量在传送的时候应该是类型和值一起传送吧,xh和kch在源表里面就是字符型的,这里为什么还要转化?
laColumns[lnIndex,2] = "Get_Score(xsb.xh, '" + kcb.kch + "')"
laColumns[lnIndex,2] =str(Get_Score(xsb.xh, '" + kcb.kch + "'))
等同吗?
不好意思,这些小问题我想问清楚点,谢谢了。
2011-07-17 21:33
lyxc34
Rank: 2
等 级:论坛游民
帖 子:139
专家分:50
注 册:2011-7-3
收藏
得分:0 
回复 57楼 TonyDeng
'" + kcb.kch + "'

'"能做一对吗?如果是的话那就好解释了,空字符串'"连接kcb.kch再连接空字符串"'等于kcb.kch。
如果是这样的话那'" + kcb.kch + "'和kcb.kch还是没区别啊。我是不是钻进死胡同了。

[ 本帖最后由 lyxc34 于 2011-7-17 23:46 编辑 ]
2011-07-17 23:44
快速回复:请教两个修改表结构和组合框数据绑定的问题
数据加载中...
 
   



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

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