建议字段用TDatetime型,如果不能改,那你就把'未知'设为0

解决方案 »

  1.   

    判断一下先:
    if (fieldbyname('到货日').value='未知') or (fieldbyname('到货日').value='未到') then exit;
      

  2.   

    建议字段用TDatetime型,或者不要用TDateTimePicker.用TDBEdit
      

  3.   

    或者下载ehlib v2.4,里面有个时间控件,日期可以不输,不像datetimepicker里面始终有个日期,你去不掉,但那里可能也不能输入‘未到’
      

  4.   

    如果你一定要用TDBDatePicker控件来做的话,我建议你写一个此程序专用的TDBDatePicker继承类,重写DataChange和OnUpdate方法,主要是判断一下字符串的内容,例如:在OnUpdate方法,如果字符串为"未知",将日期置为"1900-1-1"(此为mindate),如果字符串为"未到",将日期置为"9999-12-31"(此为maxdate).在DataChange方法,正好做相反的判断.