Opción 1: no permitir que el usuario abandone el combo sin la correcta selección de un elemento.
Definir el evento OnExit.
procedure TFCProv.cmbLocalidadExit(Sender: TObject);
begin
if cmbLocalidad.KeyValue=Null then
begin
ShowMessage('Seleccione una localidad.');
cmbLocalidad.SetFocus;
end;
end;
Opción 2: en algún caso en que se permite no seleccionar nada en el combo y debemos guardar 0 (cero) en la base de datos.
Por ejemplo, las actividades de 2 a 5 son opcionales y al crear el Form se les estable el valor de KeyValue en 0 para que no muestre nada. (La normalización y desnormalización de bases de datos está fuera del alcance de este ejemplo.).
if cmbActividad2.KeyValue=Null then
DMProv.ZQProv.FieldByName('actividad2').AsInteger:=0
else
DMProv.ZQProv.FieldByName('actividad2').AsInteger:=cmbActividad2.KeyValue;
Esta validación se hace al momento de guardar el registro y en todos los combos excepto el 1, si KeyValue es Null se guarda 0, caso contrario el valor de KeyValue.
No hay comentarios:
Publicar un comentario