为什么又多出了一个Edit3?试一个:if Edit1.Text<>'' and Edit2.text<>'' then 
   Query1.Sql.Add('And 产品表.产品名称 '+Edit2.Text+''''+Edit1.text+'''';

解决方案 »

  1.   

    谢谢各位大虾
    但是我的程序还是有问题
    Query1.Close;
    Query1.Sql.Clear;
    Query1.Sql.Add('SELECT * from 入库单表');
    Query1.Sql.Add('where 产品名称<>''''');
    if ylksubfind.Edit1.Text<>'' then
    Query1.Sql.Add('And 产品名称='''+ylksubfind.Edit1.Text+'''');
    if ylksubfind.Edit4.Text<>'' and ylksubfind.ComboBox1.text<>'' then
    Query1.Sql.Add('And 数量'+ylksubfind.Edit4.Text+''''+ylksubfind.ComboBox1.Text+'''';
    if ylksubfind.Edit3.Text<>''then
    Query1.Sql.Add('And 单据号='''+ylksubfind.Edit3.Text+'''');
    Query1.Open;