Показать сообщение отдельно
  #2  
Старый 24.12.2013, 12:23
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от denISRU
Уважаемые, программка формирует отчет, для выбора из таблицы данных я сделал такую "подставку". Проблема в том что программа вылетает если значения в базе пустые.. - как мне это допилить, чтобы при пустом значении вставляло Form4.qrLabel441.Caption:=' ' к примеру?
Код:
DataModule2.AdoQ28.First;
for I := 0 to DataModule2.ADOQ28.RecordCount do
begin

  if DataModule2.ADOQ28.FieldByName('xxxx').Value<>0 then
  begin
  Form4.qrLabel441.Caption:=DataModule2.ADOQ28.FieldByName('xxxx').AsString;
  end;
  DataModule2.AdoQ28.Next;
end;
Если убрать проверку "if ...Value<>0 then" он вроде и так будет без ошибок пустую строку присваивать. Разве нет?

С проверкой делается так:
Код:
  if DataModule2.ADOQ28.FieldByName('xxxx').IsNull
    then Form4.qrLabel441.Caption := ' '
    else Form4.qrLabel441.Caption := DataModule2.ADOQ28.FieldByName('xxxx').AsString;

p.s. Не всегда заранее известно количество записей в выборке, поэтому цикл:
Код:
for I := 0 to DataModule2.ADOQ28.RecordCount do
лучше заменить на:
Код:
while not DataModule2.ADOQ28.Eof do
Ответить с цитированием