Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-10-2007
Petolansa Petolansa is offline
Miembro
 
Registrado: jul 2005
Posts: 159
Poder: 19
Petolansa Va por buen camino
Error recorriendo dbgrid

Buenas gente, estoy recorriendo un dbgrid de factura detalle, y quiero descontar el stock mediante un query.

Código:
procedure TFrmfactura.BitBtn1Click(Sender: TObject);
var i:integer;
begin
for i:=1 to dbgrid1.FieldCount -1 do
begin
query1.SQL.Text:='Update stock set stkact=stkact-'+dbgrid1.Fields[0,i]+'Where'+
                 'procod='+QuotedStr(dbgrid1.Fields[1,i]);
query1.ExecSQL;
end;
end;
Me da el siguiente errortoo many actual params, me podrian decir a que se debe, desde ya muchas gracias
Responder Con Cita
  #2  
Antiguo 31-10-2007
Avatar de HenryAraniva
HenryAraniva HenryAraniva is offline
Miembro
 
Registrado: jun 2005
Ubicación: El Salvador
Posts: 44
Poder: 0
HenryAraniva Va por buen camino
me parece que quieres realizar una resta dentro de la sentencia sql. si stkact es el campo que vas a actualizar con el valor de "stkact-dbgrid1.fields[0,i]" debes hacerlo antes y colocarlo en una variable para luego dentro de la sentencia sql poner :
'Update stock set stkact='+nuevavariable+'Where procod='+QuotedStr(dbgrid1.Fields[1,i]);
__________________
Cuando la única herramienta es un martillo todos los problemas tienen cara de clavo
Responder Con Cita
  #3  
Antiguo 31-10-2007
Petolansa Petolansa is offline
Miembro
 
Registrado: jul 2005
Posts: 159
Poder: 19
Petolansa Va por buen camino
No funciona

Henry, vos sabes que probe, haciendo lo que me dijiste y me da error siempre en en el mismo lugar, en la variable i que uso en el indice de os campos del dbgrid.
Me dice too many actual parameters, gracias igual por la pronta respuesta.


procedure TFrmfactura.BitBtn1Click(Sender: TObject);
var i:integer;
begin
for i:=1 to dbgrid1.FieldCount -1 do
begin
query1.SQL.Text:='Update stock set stkact=stkact-'+dbgrid1.Fields[0,i]+'Where'+
'procod='+QuotedStr(dbgrid1.Fields[1,i]);
query1.ExecSQL;
end;
end;


Disculpen hago muchas preguntas en tan poco tiempo, es que es una tesis de la facultad, y realmente el profesor que me dio delphi no ayudo mucho enseñandome para poder realizarla, entonces me la debo rebuscar solo, y aprender todo a fuerza de voluntad mia y si no fuera por el club, realmente esto me costaria muchisimo mas.


Agradezco su ayuda
Responder Con Cita
  #4  
Antiguo 31-10-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En lugar de acceder a las celdas del DBGrid, es mejor que accedas a los campos del DataSet asociado. Puedes utilizar FieldByName.

Código Delphi [-]
  DBGrid.DataSource.DataSet.FieldByname('Importe').AsInteger;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Recorriendo un arbol de jerarquias Interbase Naxoman Firebird e Interbase 4 16-03-2007 13:57:30
Recorriendo todos los Edits fide API de Windows 3 25-01-2007 05:58:46
recorriendo un archivo de excel ronimaxh Conexión con bases de datos 5 21-12-2006 20:17:48
Triggers - Recorriendo los campos Sick boy Firebird e Interbase 1 06-06-2006 09:55:43


La franja horaria es GMT +2. Ahora son las 09:35:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi