Hola
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for I := 0 to ComponentCount - 1 do begin
if (Components[i] is TDBEdit) then begin
if TDBEdit(Components[i]).Text = '' then
showmessage(TDBEdit(Components[i]).name+' esta vacio');
end;
end;
end;
Salud OS
Hola Eliseo, ése código ya lo había intentado pero la cuestión es que ahí estamos obligando a que todos los DBEdits sean obligatorios, o ¿no?.
Hola, debo admitir que cuando hice mi sugerencia no ha había probado pero intuía que debería funcionar.
Lo que me pregunto es ¿cómo es posible que algo del foco de un DBEdit afecte? ¡Si se ha presionado un botón es porque el foco están en él!
A lo mejor algo del manejo de los DBEdits se me escapa... es que como no los uso y prefiero las consultas SQL...
Me gustaría saber que más hace ese botón en el que ejecutas el método CamposVacios.
No se... hay algo que no veo 
Saludos,
Hola Delphius, la cuestión es que no estoy usando TButton sino TImage con el evento OnClick, ya sabes que esos componentes no tienen focos. Ahora, no creo que tenga que ver a qué nivel ya sea Dataset o Dataware, total cada uno íntimamente ligado entre ellos, el procedimiento funciona perfectamente, sólo tengo el problema del foco.
Carlos, en estos casos no me vale usar TEdits ya que estoy tratando de evitar en lo más mínimo de usar demasiada línea de código

.
Saludos.