有一张入单据,有主表,明细表,当我作查询界面时,按照主表字段进行查询,出查询后,显示在DBGRID中,然后,在双击单元格事件中,把入库单的输入界面调出来,因为,在那张单据中,在明细表的信息,
我在双击单元格事件中写下
入库单输入窗口.showmodal;
with  fmmish.qymaster   do
begin
close;
sql.Clear;
sql.Add('select  *  from   hxmish  where    mishcode=:mishcode');
Parameters.ParamByName('MishCode').Value:=qymaster.fieldbyname('入库单号').AsString;
open;
end;
fmmish是输入窗口,fmmish.qymaster是入库单输入的主表,qymaster是查询界面的主表
有大家多帮忙

解决方案 »

  1.   

    with  fmmish.qymaster   do
    begin
    close;
    sql.Clear;
    sql.Add('select  *  from   hxmish  where    mishcode=:mishcode');
    Parameters.ParamByName('MishCode').Value:=qymaster.fieldbyname('入库单号').AsString;
    open;
    end;
    ======================
    你的Query还没有开始查询你怎么就开始“qymaster.fieldbyname('入库单号').AsString”了呢?
    我不清楚你的意思
    这里最好不要这样用
      

  2.   

    Parameters.ParamByName('MishCode').Value:=123;
    这里最好跟你的查询条件,假设条件为MishCode=123!在查询结果后才能用fieldbyname来取查询结果的值
    比如在open后,你可以用showmessage(filedbyname('a').asstring);