bom dia pessoal, estou fazendo um form de reajuste de precos..onde tenho um dblookupcombobox, 1 edit (percentual de aumento) e o botao confirmar...ou seja o usuario vai fazer o reajuste de preços de venda por grupo automaticamente, assim que informar o percentual de aumento no grupo selecionado, os preços de venda dos produtos que fazem parte do grupo que o usuario selecionou sera alterado...estou tentando mas nao deu certo...minha tabela esta assim:
tabela produtos:
codprod (chave primaria)
codgrupo(chave estrangeira)
precovenda
.....
tabela grupos
codgrupo(chave primaria)
grupo
....
desde ja agradeço.. Uso o delphi/Mysql com adoconection e adoquery...






País: Brasil
Estado: RS
Cidade: Caxias do Sul
Mensagens: 1574
//var
//percentual:double;
//codgrupo:integer;
begin
with dmpedidos.ADOQueryreajustar do
begin
Close;
SQL.Add('update produtos set precovenda + ((precovenda/100) * ??? '); duvidas
SQL.Add('where codgrupo =(select codgrupo from grupos where grupo = grupo');
//Parameters.ParamByName('percentual').Value := edit1;
//Parameters.ParamByName('codgrupo').Value := dmpedidos.adoquerygrupocodgrupo.assva;
ExecSQL;
open;
end;
update produtos set precovenda =
precovenda + ((precovenda/100) * 0,05) (aqui fica o percentual certo? mas ai seria um valor fixo, e o usuario que vai informar no edit do form de reajuste ok)
where codgrupo = (select codgrupo from grupos where grupo = grupo)
aguardo retorno....desde ja agradeço...






País: Brasil
Estado: RS
Cidade: Caxias do Sul
Mensagens: 1574
procedure Tfrmreajustar.SpeedButton1Click(Sender: TObject);
begin
with dmpedidos.ADOQueryreajustar do
begin
Close;
SQL.Add('update produtos set precovenda + ((precovenda/100) * :percentual ');
SQL.Add('where codgrupo = :codgrupo');
Parameters.ParamByName('percentual').Value := StrToFloatDef( edit1.Text, 0 );
Parameters.ParamByName('codgrupo').Value := dmpedidos.adoquerygrupocodgrupo.AsInteger;
ExecSQL;
end;
end;
Espero ter colaborado.






País: Brasil
Estado: RS
Cidade: Caxias do Sul
Mensagens: 1574
procedure Tfrmreajustar.SpeedButton1Click(Sender: TObject);
begin
with dmpedidos.ADOQueryreajustar do
begin
Close;
SQL.Add('update produtos set precovenda = ((precovenda/100) * :percentual ');
SQL.Add('where codgrupo = :codgrupo');
Parameters.ParamByName('percentual').Value := StrToFloatDef( edit1.Text, 0 );
Parameters.ParamByName('codgrupo').Value := dmpedidos.adoquerygrupocodgrupo.AsInteger;
ExecSQL;
end;
end;
Espero ter colaborado.






País: Brasil
Estado: RS
Cidade: Caxias do Sul
Mensagens: 1574
begin
with dmpedidos.ADOQueryreajustar do
begin
Close;
SQL.Add('update produtos set precovenda = ((precovenda/100) * :percentual');
SQL.Add('where codgrupo = :codgrupo');
Parameters.ParamByName('percentual').Value:= strtofloatdef (edit1.Text, 0);
Parameters.ParamByName('codgrupo').Value := dmpedidos.adoquerygrupocodgrupo.Value;
ExecSQL;
//open;
end;
end;
update produtos set precovenda = ((precovenda/100) * :percentual)
where codgrupo = :codgrupo






País: Brasil
Estado: RS
Cidade: Caxias do Sul
Mensagens: 1574






País: Brasil
Estado: RS
Cidade: Caxias do Sul
Mensagens: 1574
procedure Tfrmreajustar.SpeedButton1Click(Sender: TObject);
begin
with dmpedidos.ADOQueryreajustar do
begin
Close;
SQL.Add('update produtos set precovenda = ((precovenda/100) * :percentual ');
SQL.Add('where codgrupo = :codgrupo');
Parameters.ParamByName('percentual').Value := StrToFloatDef( TRIM(StringReplace(edit1.Text, ThousandSeparator,'',[rfReplaceAll])), 0 );
Parameters.ParamByName('codgrupo').Value := dmpedidos.adoquerygrupocodgrupo.AsInteger;
ExecSQL;
end;
end;
Espero ter colaborado.
procedure Tfrmreajustar.SpeedButton1Click(Sender: TObject);
begin
with dmpedidos.ADOQueryreajustar do
begin
Close;
SQL.clear;
SQL.Add('update produtos set precovenda = ((precovenda/100) * '+StrToFloatDef( edit1.Text, 0 ) );
SQL.Add('where codgrupo = 'dmpedidos.adoquerygrupocodgrupo.AsInteger);
ExecSQL;
end;
end;
peguei o barco andando, mas acho que isso resolve!! teste aii.
procedure Tfrmreajustar.SpeedButton1Click(Sender: TObject);
begin
with dmpedidos.ADOQueryreajustar do
begin
Close;
SQL.clear;
SQL.Add('update produtos set precovenda = ((precovenda/100) * '+StrToFloatDef( edit1.Text, 0 ) );
SQL.Add('where codgrupo = ' + inttostr(dmpedidos.adoquerygrupocodgrupo.AsInteger));
ExecSQL;
end;
end;






País: Brasil
Estado: RS
Cidade: Caxias do Sul
Mensagens: 1574
SQL.Add('update produtos set precovenda = ((precovenda/100) * ' + StrToFloatDef( edit1.Text, 0 ) );
para:
SQL.Add('update produtos set precovenda = (precovenda/100) * ' + StrToFloatDef( edit1.Text, 0 ) );
Espero ter colaborado.





