hola,
el siguiente codigo de un procedimiento completo, repite en un componente checklistbox, el ultimo registro dos veces, el caso es que en la base de datos, hay 2 clientes cuyo primer apellido empieza por la letra 'S', hasta ahi bien, el codigo muestra esos dos clientes, pero en la misma base de datos o en la misma tabla, existen 3 clientes cuya primera letra del apellido es 'G' y entonces me repite el ultimo registro dos veces quedando algo asi...
GUTIERREZ XXXX
GFULANITO XXXX
GONZALEZ XXXX
GONZALEZ XXXX
Código Delphi
[-]
procedure Tformulario1.sButton1Click(Sender: TObject);
begin
lista2.Clear;
adoquery1.DataSource:= dtSource;
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add ('Select APELLIDOS, NOMBRE');
AdoQuery1.SQL.Add ('FROM tabla1');
AdoQuery1.SQL.Add ('WHERE APELLIDOS LIKE ' + QuotedStr(comboeliminar.text +'%'));
AdoQuery1.Open;
adoquery1.First;
while not adoquery1.Eof do
begin
for i:= 0 to adoquery1.FieldCount -1 do
BEGIN
lista2.Items.Add((adoQuery1.FieldByName('APELLIDOS').AsString)+
' '+(AdoQuery1.FieldByName('NOMBRE').AsString));
adoquery1.Next;
END;
end;
end;
¿Por que si hay 3 registros cuya primera letra del apellido sea la misma, se repite el ultimo hasta devolver 4 registros cuando en realidad deberia devolver 3?
saludos y gracias.