Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   error de Is not valid float point value para un TCheckBox.... (https://www.clubdelphi.com/foros/showthread.php?t=26376)

uper 20-10-2005 19:48:12

error de Is not valid float point value para un TCheckBox....
 
hola a todos
tengo una duda al usar un componente TckeckBox, esto es para una ventana personalizada para mandar a imprimir, donde tengo TEdit y un TckeckBox
el el edit se puede escribir algo para buscar y cuando se pone en true el chekbox significa que son todos (todos los registro), me da el error Is not valid float point value esto sucede porque por medio de un boton se hace la consulta pasandole los parametros a buscar.

....
if chkTodo.Checked = True then
strCondicion := 'Where MATERIAL_DET.MAT_CANTIDAD>0 ORDER BY MATERIAL_DET.MAT_ID'
else
if chkTodo.Checked = False then
strCondicion := 'WHERE (MATERIAL.M_NOMBRE LIKE ' + '''' + '%' + edtMatPrima.Text + '%' + '''' + ')';

solo funciona si escribo algo en el edit, por que sucede ese error.

que hago, si funciona bien con las tablas de paradox !
gracias.

marcoszorrilla 20-10-2005 19:55:10

Puedes montar dos consultas una Where si te pasan algo, es decir si el Edit no es nulo y otra si te pasan algo y con el mismo If cargas una u otra consulta, está claro que la segunda no ser Like.

Un Saludo.

maeyanes 20-10-2005 20:01:14

Hola...

Para verificar el estado de una variable booleana solo tienes que hacer:

Código Delphi [-]
if chkTodo.Checked then
  // Checked es verdadero
  strCondicion := 'where MATERIAL_DET.MAT_CANTIDAD > 0 ORDER BY MATERIAL_DET.MAT_ID'
else
  // Checked es falso
  strCondicion := 'where (MATERIAL.M_NOMBRE like ''%' + edtMatPrima.Text + '%'')';
  // También podrías usar:
  strCondición := 'where (MATERIAL.M_NOMBRE like ' + QuotedStr('%' +
    edtMatPrima.Text + '%') + ')';

Ahora, sobre el error, ¿exactamente en que línea se da este?


Saludos...

uper 20-10-2005 20:49:22

saludos

ese error me da cuando ejecuto la aplicacion, pero coriendolo desde delphi se detiene en la unidad sysutils marcando este linea

procedure ConvertErrorFmt(ResString: PResStringRec; const Args: array of const);
begin
raise EConvertError.CreateFmt(LoadResString(ResString), Args);
end;

para hacer esta consulta, esta basado en un componente IbQuery, en donde es una solo instruccion sql obteniendo de las tabla maestro detalle, y hago un filtrado que la cantidad del detalle sea mayor a cero, aun que tengo ibdataset por separado y en la misma ventana veo los registros y ahi mismo mando a llamar al query, que le pasa a ese error ..

gracias


La franja horaria es GMT +2. Ahora son las 19:46:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi