Manejá el campo booleano con 0 o -1, en access -1, SQL Server 1
el campo de tipo bit. Depende si es 0 falso o distinto de 0 (1 o -1) es true
El error que te daba anteriormente se debe a que todas las opciones
de campos/arrays, colecciones, etc. comienzan en 0, a no ser que especifiques lo contrario,
lo cual en VB es posible, pero desconozco si en Delphi está permitido
Además si pones active := false a veces te da problema pq nunca lo abrió, a vos te fallaba directamente la consulta
no te traia nada con la condicion = 'No'
dicho de otra manera:
for i = 0 to query.Recordcount -1
si ponés solo .Recordcount es logico que te de error porque quieres
posicionarte en un registro inexistente ya q al arrancar en 0, pretendes
avanzar uno mas del ultimo y aborta la operacion.
Y no te rindas tan facil, ponele el pecho a las balas!!!
Código:
procedure prueba();
Var
difAnt:real;
i:integer;
error:boolean;
begin
query.SQL.Clear;
query.SQL.text := 'SELECT * FROM Datos WHERE Historico=-1';
query.Open();
while not query.Eof do
begin
MessageBox( Handle, PChar( 'WOW Tengo algo' ), PChar( '¡ A T E N C I O N !' ), MB_ICONWARNING + MB_OK + MB_APPLMODAL);
query.next;
end;
query.close;
end;
Salu2