VFP中问题
x=thisform.text1.valuea="SELECT零件信息.零件号,零件信息.零件名称,零件信息.单价,使用零件.数量;FROM零件信息,使用零件;WHERE...
x=thisform.text1.value
a = "SELECT 零件信息.零件号, 零件信息.零件名称, 零件信息.单价, 使用零件.数量 ;
FROM 零件信息,使用零件 ;
WHERE 零件信息.零件号=使用零件.零件号 and 使用零件.项目号=x ;
ORDER BY 零件信息.零件号 INTO TABLE "+x
&a
这个语句中为什么要加a=" 和“+x 直接into table x不行吗? &a又是什么意思 展开
a = "SELECT 零件信息.零件号, 零件信息.零件名称, 零件信息.单价, 使用零件.数量 ;
FROM 零件信息,使用零件 ;
WHERE 零件信息.零件号=使用零件.零件号 and 使用零件.项目号=x ;
ORDER BY 零件信息.零件号 INTO TABLE "+x
&a
这个语句中为什么要加a=" 和“+x 直接into table x不行吗? &a又是什么意思 展开
2个回答
展开全部
这里x起一个表的名称作用,如果表的名称随便固定一个,如kkk的话,就不用搞宏代换的方法去执行查询语句。
在你的程序中,表的名称不是固定的,而是随thisform.text1.value的值而变化的,由此,先用字符串连接起来需要的语句词汇,再执行这个语句(&a),&是宏展开运算,通俗的说就是剥去字符串的引号,就变成了一个程序语句。
在你的程序中,表的名称不是固定的,而是随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是变化的量,连接起来很方便。而一个语句(一句话)中的一个成分是不定的,变动的(像我们要求的表的名称),连接起来就不太方便,用字符串进行连接是常用的方法,并用&执行这句话。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询