PDA

Ver la Versión Completa : ComboBox Seleccion de Items


Marwuinh
21-10-2008, 23:49:53
Saludos a todos tengo una consulta:

resulta que al iniciar el formulario yo cargo datos de una tabla a un ComboBox y funciona perfectamente ahora:

aplico el siguiente codigo para saber cuando el usuario selecciona un Items en particular

Si la tabla llamada "tClientes" posee datos sobre la seleccion que se hace sobre el ComboBox llamado "cdNumCen" los filtro e indico cuantos registros son

cuando ejecuto la aplicacion funciona la primera vez y luego no funciona, ni siquiera entra en la condicion planteada, ya que sale el mensaje que esta luego del else




procedure TUnoDiez.cbNumCenChange(Sender: TObject);
begin

if tClientes.Locate('CV_CLI',cbNumCen.text,[]) then
begin
tClientes.Filtered := false;
tClientes.Filter:='CV_CLI='+cbNumCen.text;
tClientes.Filtered := true;
lNumVotCV.Caption:='Hay '+inttostr(tClientes.RecordCount)+' Votantes';

end
else
showmessage('No hay Campos Registrados);
end;

Caro
22-10-2008, 13:38:03
Hola Marwuinh, así como esta tu codigo debría funcionarte, puedes hacer pruebas y mostrar lo que esta recibiendo del ComboBox.Text, y también probar con la opción loCaseInsensitive del Locate, ademas lo que tengas en cbNumCen.text, tendría que existir en tu campo CV_CLI de tu tabla clientes.


begin
showmessage(cbNumCen.text);
if tClientes.Locate('CV_CLI',cbNumCen.text,[loCaseInsensitive]) then
begin
......................
end;


Saluditos

Marwuinh
23-10-2008, 00:28:41
Muchas Gracias por tu ayuda, opte por no usar el Locate y me funciono:

Quedo asi:



procedure TUnoDiez.cbNumCenChange(Sender: TObject);
begin
tClientes.Filtered := false;
tClientes.Filter:='CV_CLI='+QuotedStr(cbNumCen.text);
tClientes.Filtered := true;
lNumVotCV.Caption:='Hay '+inttostr(tClientes.RecordCount)+' Votantes';
end;