我根据你的思路我改了下程序现在可以了,也给你看看我程序
IF EOF('xscjb') RETURN
ENDIF
if messagebox("您确定要删除当前的学生成绩么?",1+64+256,"提示")=1 use xscjb zap in xscjb PACK GO BOTTOM in xscjb close table use 学生成绩表 DELETE FROM 学生成绩表 WHERE 课程号==allt(thisform.text1.value) and 姓名==allt(thisform.text2.value) PACK thisform.Refresh
endif
非感谢谢你的帮助
use xscjb&&为什么在此打开这表,这表作用是什么? zap in xscjb PACK &&这句没用的 GO BOTTOM in xscjb &&这句没用的 close table &&这是关闭所有表了,不可取。至于需关闭那些表,你心中应有数。 use 学生成绩表 &&不应这样打开表,这样打开表有可能自动关闭其它的表。应这样打开: use 学生成绩表 in 0
DELETE FROM 学生成绩表 WHERE 课程号==allt(thisform.text1.value) and 姓名==allt(thisform.text2.value)&&你不是说要根据查询结果,删除指定的记录吗。但你这不是呀。