Ver Mensaje Individual
  #1  
Antiguo 09-02-2021
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Reputación: 12
giulichajari Va por buen camino
Copiar este formulario de Access es posible en Delphi?

Tengo el siguiente formulario de una aplicacion vieja que se quiere renovar en Access:

https://ibb.co/YTYqWRX

Hasta ahora hice la parte de arriba pero se me complico con la grilla.Para lo mismo estoy usando un DBGrid pero no logro hacerlo:
Tiene el listado de codigos alfanumericos en la columna codigo por cada registro(esto por lo que busque se puede hacer con la propiedad PickList de Column). Cuando se selecciona un codigo aparece el nombre y precio del producto correspondiente. A su vez el combo lista que se ve es otra tabla de la base de datos que aplica un descuento de acuerdo al cliente(ya esta predeterminada) pudiendo cambiarse.
Se que no es algo sencillo al menos para mi:

Código Delphi [-]
 procedure TDataModule1.cdsptemporalNewRecord(DataSet: TDataSet);
begin
  SetupGridPickList('Codigo','Select * from productos;');
end;

Hasta ahora uso el evento on new record(hay un boton de agregar registro),con la idea de llenar un TClientDataSet como tabla temporal, y cargar el combo haciendo uso de picklist:
Código Delphi [-]
procedure TDataModule1.SetupGridPickList(const FieldName, sql: string);
var
 slPickList:TStringList;
 Query : TSQLQuery;
 i : integer;
begin
 slPickList:=TStringList.Create;
 Query := TSQLQuery.Create(self);

 Query.SQLConnection :=DataModule1.CONEXION;
 Query.SQL.Text := sql;
 Query.Open;
 //Fill the string listwhile not Query.EOF dobegin
 Query.First;
 while not Query.eof do
   begin
       slPickList.Add(Query.Fields[9].AsString);
       Query.Next;
   end;



 Form3.DBGrid1.Columns[1].PickList:=slPickList;


end;

Alguna sugerencia?Es posible?
Responder Con Cita