Ver Mensaje Individual
  #40  
Antiguo 10-02-2010
aanil aanil is offline
Miembro
 
Registrado: abr 2006
Posts: 155
Reputación: 21
aanil Va por buen camino
Hola Caral

Ahora le hice esta pequeña modificación el código y se para en
Datam.query1.next;

Observa:

Código Delphi [-]
procedure TForm3.BitBtn1Click(Sender: TObject);
begin
datam.Query1.SQL.Text:= 'Select * From 20092 Where matricula LIKE:variable';
datam.Query1.Parameters[0].Value:= '%'+ Edit1.Text +'%';
datam.Query1.Open;
end;

procedure TForm3.BitBtn3Click(Sender: TObject);
begin
if edit1.Text = '' then
Showmessage ('Debes escribir la Matricula del Estudiante');

with datam.Query1 do begin

SQL.Text := ' select *, (exp + expgrup + pract1 + pract2 + pract3 + pract4 + pract5)As practica,( parcial1 + parcial2+ practica + final + trab_final) As tfinal from 20092';
Filter:='matricula Like '''+ Edit1.Text + '*''';
Filtered:= True;
Open;

datam.Query1.First;
while not datam.Query1.Eof do   // recorre la tabla en el query1
begin
  // hace el update del query2
//datam.Qtemp.Close;
datam.Qtemp.sql.Text := 'Update 20092 set practica = '+datam.Query1.fieldbyname('practica').AsString+' where matricula = '+QuotedStr(datam.Query1.fieldbyname('matricula').AsString);
datam.Qtemp.ExecSQL;

//datam.Qtemp.Close;
datam.Qtemp.SQL.Text := 'Update 20092 set tfinal = '+datam.Query1.fieldbyname ('tfinal').AsString+ ' where matricula = '+QuotedStr(datam.Query1.fieldbyname('matricula').AsString);
datam.Qtemp.ExecSQL; // ejecuta el query2
datam.Query1.Next;
 end;

 datam.Query1.Close;
 datam.Query1.Open;

end;


end;

Y en una segunda actualización del estudiante si permite hacer la suma de los campos.

Saludos
Responder Con Cita