Vamos a ver, tiene que hacer algo parecido a esto.
Hacemos clic en la fila del DBGrid, y al darle a aceptar algo parecido a esto.
Código Delphi
[-]
with DataSet do
begin
Close;
CommandText:= 'select provincia from tabla_provincia'; Open;
Last;
end;
DBLCB.ListSource:= Tu_DataSource;
DBLCB.KeyField:= 'provinicia';
DBLCB.ListField:= 'provincia';
DBLCB.KeyValue:= DBGrid.Fields[columnadelcampo].Text
Así con los 3 DBLCB, cambiando la columna del campo que quieras mostrar.
El CommandText es porque uso ClientDataSet, s¡ tu usas otros componentes adaptalo.
Espero que te valga, saludos.