HOla:
Que componente es Qtemp? es un AdoQuery, bueno en primer lugar te recomiendo que caches esa excepcion con...
Código:
Try
QTemp.SQL.Text := 'Select Max(CodFactura) From Factura where Tipo
= '+QuotedStr(Tipo);QTemp.Open;
except
on e:EOLEException do //error de conexion
begin
MessageDlg('Error . '+e.Message, mtError,[mbOk], 0);
exit;
end;
on e:EdataBaseError do //error en base de datos
begin
MessageDlg('Error . '+e.Message, mtError,[mbOk], 0);
exito:=false;
Query.Close;
exit;
end;
end; //except
Y ademas el error que te indica es con los parametros en la consulta, prueba agregandole las comillas simples al tipo que le mandas de parametro:
Código:
QTemp.SQL.Text := 'Select Max(CodFactura) From Factura where Tipo = '''+QuotedStr(Tipo)+'''';