我的意思是:
在dw_1的rbuttondown事件中有如下代码
string fieldname,fieldtype,ft,cts
m_tj m_new
m_new=create m_tj
m_new.m_r.popmenu(parent.pointerx(),parent.pointery())//弹出关系符描述菜单
fieldname=getcolumnname() //获取当前列名
fieldtype=describe(fieldname+".coltype") // 取得当前列类型
ft=left(fieldtype,4) //取列名左边四个字符
cts=gettext() //取得当前空键内容
if cmx then sle_3.text=sle_3.text+"and"
if ft="numb" or ft="deci" or ft="long" or ft="real" then
sle_3.text=sle_3.text+fieldname+op_r+cts
else
if op_r="in" then
sle_3.text=sle_3.text+"pos("+fieldname+",'"+cts+"')>0"
else
sle_3.text=sle_3.text+fieldname+op_r+"'"+cts+"'"
end if
end if
cmx=true
return
问题所在是:当我选择“年龄”那一列中的一个数据时,所获取到的列名不是“age”,而是数据窗口的第一列“sno”,具体的数据也是“sno”的数据。比如说,我在“age”那一列选择了“24”,并在快捷菜单中选择大于号,本来嘛,表达式应该是age>24,但查询表达式却变成sno>"2003001",这是第一条记录的数据
这里说明一个问题,age、birthday这两个字段是在建立数据窗口后才想起来从新添加进去的字段,而偏偏就是选择这些字段内容查询的时候所获取到的列名不是当前所选的列名,但选其他的字段内容查询时都没有这样的问题,偏偏是加进来的字段有问题。