作业帮 > 综合 > 作业

VFP中问题x=thisform.text1.valuea = "SELECT 零件信息.零件号,零件信息.零件名称,零

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/14 22:16:46
VFP中问题
x=thisform.text1.value
a = "SELECT 零件信息.零件号,零件信息.零件名称,零件信息.单价,使用零件.数量 ;
FROM 零件信息,使用零件 ;
WHERE 零件信息.零件号=使用零件.零件号 and 使用零件.项目号=x ;
ORDER BY 零件信息.零件号 INTO TABLE "+x
&a
这个语句中为什么要加a=" 和“+x 直接into table
这里x起一个表的名称作用,如果表的名称随便固定一个,如kkk的话,就不用搞宏代换的方法去执行查询语句.
在你的程序中,表的名称不是固定的,而是随thisform.text1.value的值而变化的,由此,先用字符串连接起来需要的语句词汇,再执行这个语句(&a),&是宏展开运算,通俗的说就是剥去字符串的引号,就变成了一个程序语句.
再问: 直接用into table thisform.text1.value不可以么
再答: 直接用 thisform.text1.value 不行,因thisform.text1.value是一个字符串 假如字符串是 “ppp” into table thisform.text1.value 相当于into table “ppp” ,形不成into table ppp 这样的格式 select查询是一种语言型的语句,与我们数学中的语句不一样,数学中5*x,x是变化的量,连接起来很方便。而一个语句(一句话)中的一个成分是不定的,变动的(像我们要求的表的名称),连接起来就不太方便,用字符串进行连接是常用的方法,并用&执行这句话。