楼主的代码有以下几个问题:
1. 如果用户没有输入表名而是单击了“取消”怎么办?所以应该对输入的表名进行检测
2. 宏替换的使用有问题,如:“&bm1.ksh”应改为“&bm1..ksh”,其中:第一个圆点是宏替换变量与后面代码的分隔符,第二个圆点是表名与字段名之间的分隔符。
3. 当要取两个表的所有字段时,无需“表1.*,表2.*”,直接用“*”就可以了。
4. Browse 后面不能加表名,所以“Browse 新表”是错误的。在执行完“Select...Into Table 新表”后,系统会自动打开“新表”,并切换到其所在工作区,只需 Browse 即可。
程序代码:
CLEAR
bm1=INPUTBOX("请输入第一个表名:","请输入数据")
if empty(bm1)
return
endif
bm2=INPUTBOX("请输入第二个表名:","请输入数据")
if empty(bm2)
return
endif
SELECT * FROM &bm2 FULL JOIN &bm1 ON &bm1..ksh=&bm2..ksh INTO TABLE 新表
BROWSE
[
本帖最后由 liuxingang28 于 2014-10-16 15:17 编辑 ]