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

En mi proyecto el error que se produce es este:

Project, Project1.exe raised esception class EOleException with message
'Error de sintaxis en la instruccion UPDATE', Process Stopped. Use Step o
Run to continue.

Este error lo produce en la primera actualizacion de un estudiantes cualquiera,
Luego no lo produce, y actualiza los campos, pero hay que darle doble clic al boton actualizar.

Este codigo lo he puesto de todas formas, juntos, separados, con dos botones y siempre lo mismo.

Código SQL [-]
with datam.Query1 do begin
   SQL.Text := ' select *, (exp + expgrup + pract1 + pract2 + pract3 + pract4 + pract5)As practica from 20092';
   SQL.Text := ' select *,( parcial1 + parcial2) As parciales from 20092';
   SQL.Text := ' select *,(practica + parciales + 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.Query2.sql.Text := 'Update 20092 set practica = '+datam.Query1Practica.AsString+' where matricula = '+QuotedStr(datam.Query1matricula.AsString);
datam.Query2.ExecSQL;

datam.Query2.SQL.Text := 'Update 20092 set parciales = '+datam.Query1Parciales.AsString+' where matricula = '+QuotedStr(datam.Query1matricula.AsString);
datam.Query2.ExecSQL;

datam.Query2.SQL.Text := 'Update 20092 set tfinal = '+datam.Query1tfinal.AsString+' where matricula = '+QuotedStr(datam.Query1matricula.AsString);
datam.Query2.ExecSQL; // ejecuta el query2
datam.Query1.Next; // recorre el query1 hasta el final

En la primera ejecución cuando se produce el error se para en esta línea del código que te presento.

Código SQL [-]
datam.Query2.SQL.Text := 'Update 20092 set parciales = '+datam.Query1Parciales.AsString+' where matricula = '+QuotedStr(datam.Query1matricula.AsString);

Luego reinicio y ya el problema no sale con el estudiante en cuestión, luego se produce cuando se le colocan las notas al siguiente estudiante consultado y así sucesivamente.

Gracias por tomarnos en cuenta.
Responder Con Cita