In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

VARIABLES COMO CAMPOS.

Foro público de Xailer en español
Responder
PEDRO DE LEON RODAS[3]
Mensajes: 266
Registrado: Mar Oct 28, 2008 4:41 am

VARIABLES COMO CAMPOS.

Mensaje por PEDRO DE LEON RODAS[3] »

Buen dia a todos.
Alguien me puede orientar como hacer lo siguiente.
Tengo una base datos mysql y en esa base una tabla llamada saldos_diarios
con varios campos:
numero_cliente int 10
numero_mes int 2
numero_ano int 4
dia1 decimales 12 2
dia3 decimales 12 2
hasta llegar al dia31 .
Lo que quiero es grabar en los campos dia1,dia2, usando una variable de
memoria.
Hago lo siguiente:
Local miconsulta,contador,cCampo
miconsulta=AppData:mibase:Query("Select * from saldos_diarios where
numero_ano=2012 and numero_mes=5 and numero_cliente=1 ")
Miconsulta:Open()
hasta qui todo bien.
For contador=1 to 31
cCampo="DIA"+Alltrim(Str(contador))
Miconsulta:Edit()
Miconsulta:&cCampo=5000.00 // al hacer esto me da error y no se graba.
Miconsulta:Update
End for
Si yo hago lo siguiente funciona bien.
For contador=1 to 31
If contador=1
Miconsulta:Edit()
Miconsulta:dia1=5000.00 // asi si funciona.
Miconsulta:Update
Endif
If contador=2
Miconsulta:Edit()
Miconsulta:dia2=5000.00
Miconsulta:Update
Endif
End for
Lo que quiero evitar es poner mucho codigo pues tendria que hacer esto hasta
31.
Espero no haberme enredado.
Si yo hago esto funciona bien.
cCampo="DIA"+"1"
Msginfo(Miconsulta:&cCampo)
Por su ayuda gracias.
Gabo
Mensajes: 104
Registrado: Mié Oct 27, 2010 1:36 am

VARIABLES COMO CAMPOS.

Mensaje por Gabo »

El 17/05/2012 08:01 p.m., PEDRO DE LEON RODAS escribió:
> Buen dia a todos.
>
> Alguien me puede orientar como hacer lo siguiente.
>
>
> Tengo una base datos mysql y en esa base una tabla llamada
> saldos_diarios con varios campos:
>
> numero_cliente int 10
> numero_mes int 2
> numero_ano int 4
> dia1 decimales 12 2
> dia3 decimales 12 2
> hasta llegar al dia31 .
>
>
> Lo que quiero es grabar en los campos dia1,dia2, usando una variable de
> memoria.
>
> Hago lo siguiente:
>
>
> Local miconsulta,contador,cCampo
>
> miconsulta=AppData:mibase:Query("Select * from saldos_diarios where
> numero_ano=2012 and numero_mes=5 and numero_cliente=1 ")
> Miconsulta:Open()
>
> hasta qui todo bien.
>
>
> For contador=1 to 31
> cCampo="DIA"+Alltrim(Str(contador))
>
> Miconsulta:Edit()
> Miconsulta:&cCampo=5000.00 // al hacer esto me da error y no se graba.
> Miconsulta:Update
>
> End for
>
>
> Si yo hago lo siguiente funciona bien.
>
>
> For contador=1 to 31
>
> If contador=1
>
> Miconsulta:Edit()
> Miconsulta:dia1=5000.00 // asi si funciona.
> Miconsulta:Update
> Endif
>
> If contador=2
>
> Miconsulta:Edit()
> Miconsulta:dia2=5000.00
> Miconsulta:Update
> Endif
>
>
> End for
>
> Lo que quiero evitar es poner mucho codigo pues tendria que hacer esto
> hasta 31.
>
> Espero no haberme enredado.
>
> Si yo hago esto funciona bien.
>
> cCampo="DIA"+"1"
>
> Msginfo(Miconsulta:&cCampo)
>
> Por su ayuda gracias.
>
>
>
>
>
>
>
>
>
>
>
For contador=1 to 31
cCampo="DIA"+Alltrim(Str(contador))
Miconsulta:Edit()
Miconsulta:FielPut( Miconsulta:FieldPos(cCampo), 5000.00 )
Miconsulta:Update
End for
Un Saludo
PEDRO DE LEON RODAS[3]
Mensajes: 266
Registrado: Mar Oct 28, 2008 4:41 am

VARIABLES COMO CAMPOS.

Mensaje por PEDRO DE LEON RODAS[3] »

Gabriel, buen dia.
Gracias por tu ayuda, probe el ejemplo que me distes pero no funciona, me da
el error siguiente.
TSQLQUERY:FIELPUT(1485)
Error BASE/1004 Message or field name not found: TSQLQuery:FIELPUT
Argumentos: ( [ 1] = Tipo: N Valor: 10)
Saludos.
PEDRO DE LEON RODAS[3]
Mensajes: 266
Registrado: Mar Oct 28, 2008 4:41 am

VARIABLES COMO CAMPOS.

Mensaje por PEDRO DE LEON RODAS[3] »

Gabriel, gracias.
Ya esta resuelto, estaba mal escrito FielPut le faltaba la d FieldPut
Funciona perfectamente bien.
Creo que voy a tener que conseguir una guia de xHarbour.
Muchas gracias
Saludos
Responder