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.

Saber si es correcto

Foro de Xailer profesional en español
Responder
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

Saber si es correcto

Mensaje por PILO »

Estoy haciendo una actualizacion de variable en una base de datos
que todas son igual,
Esto es correcto ( En rojo)
do while !:Eof()
:EDIT()
:LIBROHOJA := CONTARHOJA
:LIBROLINEA := CONTARLINEA
:BA_FINAL := BALANCEFINAL
:BA_ANTES := BALANCEANTES
:UPDATE()
::oDbfMaestro:GOTOP()
:SELECT()
SKIP + 1
END WHILE
A cualquiera que me quiera hechar una manita
Gracias
--
jrcpoli-quitar
Mensajes: 558
Registrado: Mar Feb 09, 2010 2:26 pm

Saber si es correcto

Mensaje por jrcpoli-quitar »

PILO escribió:
> Estoy haciendo una actualizacion de variable en una base de datos
> que todas son igual,
> Esto es correcto ( En rojo)
>
> do while !:Eof()
> :EDIT()
> :LIBROHOJA := CONTARHOJA
> :LIBROLINEA := CONTARLINEA
> :BA_FINAL := BALANCEFINAL
> :BA_ANTES := BALANCEANTES
> :UPDATE()
> ::oDbfMaestro:GOTOP()
> :SELECT()
> SKIP + 1
> END WHILE
> A cualquiera que me quiera hechar una manita
> Gracias
Saludos:
Yo lo harí­a así­:
WITH OBJECT ::Basededatos
** Comprobar que tiene registros
IF :RecCount() > 0
** Ponemos la base de datos en Edicción
:Edit()
** La posicionamos en el primer registro
:GoTop()
** Entramos en el Bucle
DO WHILE !:= :EoF()
** Actualizamos los registros
** Grabamos el registro actualizado
:Update()
** Avanzamos un registro
:Skip()
END DO
** Cerramos Editar
:Cancel()
ENDIF
END
José Ramón Castro.
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

Saber si es correcto

Mensaje por PILO »

Gracias José Ramón.
Que diferencia hay
entre "do while !:Eof()"
y " DO WHILE !:= :EoF()"
que estas utilizando tu
Rolando
Mensajes: 191
Registrado: Lun May 08, 2006 2:10 pm

Saber si es correcto

Mensaje por Rolando »

Pilo y José: el :edit() debe estar dentro del while.
Saludos.
"PILO" <srmpilo@hotmail.com> escribió en el mensaje
news:[email=45aa0ef2@news.xailer.com...]45aa0ef2@news.xailer.com...[/email]
> Gracias José Ramón.
> Que diferencia hay
> entre "do while !:Eof()"
> y " DO WHILE !:= :EoF()"
> que estas utilizando tu
>
>
jrcpoli-quitar
Mensajes: 558
Registrado: Mar Feb 09, 2010 2:26 pm

Saber si es correcto

Mensaje por jrcpoli-quitar »

PILO escribió:
> Gracias José Ramón.
> Que diferencia hay
> entre "do while !:Eof()"
> y " DO WHILE !:= :EoF()"
> que estas utilizando tu
>
>
Perdón si puse eso me equivoqué
DO WHILE !:EoF() el := Esta mal es que no lo copié lo hice sobre la marcha.
Jose Ramón Castro
jrcpoli-quitar
Mensajes: 558
Registrado: Mar Feb 09, 2010 2:26 pm

Saber si es correcto

Mensaje por jrcpoli-quitar »

Rolando Sarrailh escribió:
> Pilo y José: el :edit() debe estar dentro del while.
> Saludos.
>
> "PILO" <srmpilo@hotmail.com> escribió en el mensaje
> news:[email=45aa0ef2@news.xailer.com...]45aa0ef2@news.xailer.com...[/email]
>> Gracias José Ramón.
>> Que diferencia hay
>> entre "do while !:Eof()"
>> y " DO WHILE !:= :EoF()"
>> que estas utilizando tu
>>
>>
>
>
Pues me gustarí­a que eso me lo aclararan porque yo lo tengo así­ fuera
del While y funciona, no te quito la razón pero fuera también funciona.
Este código que adjunto funciona perfectamente:
** Asignamos puntos y coeficiente
WITH OBJECT ::oDbfListado1
*
** Ponemos la base de datos en modo Editar
:Edit()
** La pasicionamos en el primer registro
:GoTop()
*
DO WHILE !:EoF()
*** Hacemos una serie de operaciones de cambios
*** en los registros
** Grabamos los datos
:UpDate()
*
** Suma uno al contador
nContador++
*
** Avanza un registro
:Skip()
*
END DO
*
** Salimos de Editar
:Cancel()
END WITH
RETURN NIL
José Ramón Castro.
jrcpoli-quitar
Mensajes: 558
Registrado: Mar Feb 09, 2010 2:26 pm

Saber si es correcto

Mensaje por jrcpoli-quitar »

Saludos Rolando:
He leí­do la ayuda de Edit() y veo claramente que afecta directamente a
cada registro, por lo tanto es mejor que esté dentro de While, tení­as
razón, al Cesar lo que es del Cesar.
Gracias.
José Ramón Castro.
José Ramón Castro Polinio escribió:
> Rolando Sarrailh escribió:
>> Pilo y José: el :edit() debe estar dentro del while.
>> Saludos.
>>
>> "PILO" <srmpilo@hotmail.com> escribió en el mensaje
>> news:[email=45aa0ef2@news.xailer.com...]45aa0ef2@news.xailer.com...[/email]
>>> Gracias José Ramón.
>>> Que diferencia hay
>>> entre "do while !:Eof()"
>>> y " DO WHILE !:= :EoF()"
>>> que estas utilizando tu
>>>
>>>
>>
>>
>
> Pues me gustarí­a que eso me lo aclararan porque yo lo tengo así­ fuera
> del While y funciona, no te quito la razón pero fuera también funciona.
>
> Este código que adjunto funciona perfectamente:
> ** Asignamos puntos y coeficiente
> WITH OBJECT ::oDbfListado1
> *
> ** Ponemos la base de datos en modo Editar
> :Edit()
> ** La pasicionamos en el primer registro
> :GoTop()
> *
> DO WHILE !:EoF()
>
> *** Hacemos una serie de operaciones de cambios
> *** en los registros
>
> ** Grabamos los datos
> :UpDate()
> *
> ** Suma uno al contador
> nContador++
> *
> ** Avanza un registro
> :Skip()
> *
> END DO
> *
> ** Salimos de Editar
> :Cancel()
>
> END WITH
>
> RETURN NIL
>
> José Ramón Castro.
Responder