Esto es parte de un proceso para cambiar datos a una Dbf, a partir de un DataSet...
METHOD xFactura( dDataAbono, cFactura ) CLASS TFrmControlIncidents
If Val( cFactura ) = 0
return Nil
EndIf
::oDbfDataSet1:OrdSetFocus( 4 )
::oDbfDataSet1:Seek( Dtos( dDataAbono ) )
While !::oDbfDataSet1:Eof() .and. ::oDbfDataSet1:FieldGetByName("DATAABONO") == dDataAbono
::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
::oDbfDataSet1:FACTURA := Str( Val( cFactura ), 5 )
::oDbfDataSet1:Update()
::oDbfDataSet1:Skip()
EndDo
::oDbfDataSet1:OrdSetFocus( 6 )
::oDbfDataSet1:GoTop()
::oDbfDataSet1:Refresh()
Bien, el cambio lo hace perfectamente... ahora bien.
¿Es correcto... es así como debe de hacerse???
De ser correcto...
¿Cómo tengo el control del bloqueo de registros ???
Si :Edit() se encarga del bloqueo, ¿Cuando se libera el registro?
¿Como hago para volver al registro que estaba antes de modificar???
De momento, eso...
Un Saludo,
Xevi.
--
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.
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.
Sobre DataSet
- ignacio
- Site Admin
- Mensajes: 9447
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Sobre DataSet
Xevi,
>> ::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
Para ello deberás pasarle además un .T. como parametro. Y sinceramente no te lo recomiendo a no ser de que montes un sistema de autocancelación por tiempo o quites el telefóno al usuario y además le esposes al ordenador
>> ¿Es correcto... es así como debe de hacerse???
Correctísimo
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:431eaef7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Esto es parte de un proceso para cambiar datos a una Dbf, a partir de un DataSet...
METHOD xFactura( dDataAbono, cFactura ) CLASS TFrmControlIncidents
If Val( cFactura ) = 0
return Nil
EndIf
::oDbfDataSet1:OrdSetFocus( 4 )
::oDbfDataSet1:Seek( Dtos( dDataAbono ) )
While !::oDbfDataSet1:Eof() .and. ::oDbfDataSet1:FieldGetByName("DATAABONO") == dDataAbono
::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
::oDbfDataSet1:FACTURA := Str( Val( cFactura ), 5 )
::oDbfDataSet1:Update()
::oDbfDataSet1:Skip()
EndDo
::oDbfDataSet1:OrdSetFocus( 6 )
::oDbfDataSet1:GoTop()
::oDbfDataSet1:Refresh()
Bien, el cambio lo hace perfectamente... ahora bien.
¿Es correcto... es así como debe de hacerse???
De ser correcto...
¿Cómo tengo el control del bloqueo de registros ???
Si :Edit() se encarga del bloqueo, ¿Cuando se libera el registro?
¿Como hago para volver al registro que estaba antes de modificar???
De momento, eso...
Un Saludo,
Xevi.
--
>> ::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
Para ello deberás pasarle además un .T. como parametro. Y sinceramente no te lo recomiendo a no ser de que montes un sistema de autocancelación por tiempo o quites el telefóno al usuario y además le esposes al ordenador

>> ¿Es correcto... es así como debe de hacerse???
Correctísimo
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:431eaef7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Esto es parte de un proceso para cambiar datos a una Dbf, a partir de un DataSet...
METHOD xFactura( dDataAbono, cFactura ) CLASS TFrmControlIncidents
If Val( cFactura ) = 0
return Nil
EndIf
::oDbfDataSet1:OrdSetFocus( 4 )
::oDbfDataSet1:Seek( Dtos( dDataAbono ) )
While !::oDbfDataSet1:Eof() .and. ::oDbfDataSet1:FieldGetByName("DATAABONO") == dDataAbono
::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
::oDbfDataSet1:FACTURA := Str( Val( cFactura ), 5 )
::oDbfDataSet1:Update()
::oDbfDataSet1:Skip()
EndDo
::oDbfDataSet1:OrdSetFocus( 6 )
::oDbfDataSet1:GoTop()
::oDbfDataSet1:Refresh()
Bien, el cambio lo hace perfectamente... ahora bien.
¿Es correcto... es así como debe de hacerse???
De ser correcto...
¿Cómo tengo el control del bloqueo de registros ???
Si :Edit() se encarga del bloqueo, ¿Cuando se libera el registro?
¿Como hago para volver al registro que estaba antes de modificar???
De momento, eso...
Un Saludo,
Xevi.
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Sobre DataSet
Ignacio,
>Correctísimo
Me alegro... ya le voy cojiendo el feeling a Xailer!!!
Una cosa mas...
Al entrar en el Bucle, y modificar los datos del DataSet, se va modificando también el DBBrowse...
¿Hay alguna manera de "paralizar" el DBBrowse hasta que no termine el bucle???
He probado poner DBBrowse1:lEnabled a .F., pero hace lo mismo...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ebeda$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
>> ::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
Para ello deberás pasarle además un .T. como parametro. Y sinceramente no te lo recomiendo a no ser de que montes un sistema de autocancelación por tiempo o quites el telefóno al usuario y además le esposes al ordenador
>> ¿Es correcto... es así como debe de hacerse???
Correctísimo
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:431eaef7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Esto es parte de un proceso para cambiar datos a una Dbf, a partir de un DataSet...
METHOD xFactura( dDataAbono, cFactura ) CLASS TFrmControlIncidents
If Val( cFactura ) = 0
return Nil
EndIf
::oDbfDataSet1:OrdSetFocus( 4 )
::oDbfDataSet1:Seek( Dtos( dDataAbono ) )
While !::oDbfDataSet1:Eof() .and. ::oDbfDataSet1:FieldGetByName("DATAABONO") == dDataAbono
::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
::oDbfDataSet1:FACTURA := Str( Val( cFactura ), 5 )
::oDbfDataSet1:Update()
::oDbfDataSet1:Skip()
EndDo
::oDbfDataSet1:OrdSetFocus( 6 )
::oDbfDataSet1:GoTop()
::oDbfDataSet1:Refresh()
Bien, el cambio lo hace perfectamente... ahora bien.
¿Es correcto... es así como debe de hacerse???
De ser correcto...
¿Cómo tengo el control del bloqueo de registros ???
Si :Edit() se encarga del bloqueo, ¿Cuando se libera el registro?
¿Como hago para volver al registro que estaba antes de modificar???
De momento, eso...
Un Saludo,
Xevi.
--
>Correctísimo
Me alegro... ya le voy cojiendo el feeling a Xailer!!!
Una cosa mas...
Al entrar en el Bucle, y modificar los datos del DataSet, se va modificando también el DBBrowse...
¿Hay alguna manera de "paralizar" el DBBrowse hasta que no termine el bucle???
He probado poner DBBrowse1:lEnabled a .F., pero hace lo mismo...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ebeda$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
>> ::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
Para ello deberás pasarle además un .T. como parametro. Y sinceramente no te lo recomiendo a no ser de que montes un sistema de autocancelación por tiempo o quites el telefóno al usuario y además le esposes al ordenador

>> ¿Es correcto... es así como debe de hacerse???
Correctísimo
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:431eaef7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Esto es parte de un proceso para cambiar datos a una Dbf, a partir de un DataSet...
METHOD xFactura( dDataAbono, cFactura ) CLASS TFrmControlIncidents
If Val( cFactura ) = 0
return Nil
EndIf
::oDbfDataSet1:OrdSetFocus( 4 )
::oDbfDataSet1:Seek( Dtos( dDataAbono ) )
While !::oDbfDataSet1:Eof() .and. ::oDbfDataSet1:FieldGetByName("DATAABONO") == dDataAbono
::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
::oDbfDataSet1:FACTURA := Str( Val( cFactura ), 5 )
::oDbfDataSet1:Update()
::oDbfDataSet1:Skip()
EndDo
::oDbfDataSet1:OrdSetFocus( 6 )
::oDbfDataSet1:GoTop()
::oDbfDataSet1:Refresh()
Bien, el cambio lo hace perfectamente... ahora bien.
¿Es correcto... es así como debe de hacerse???
De ser correcto...
¿Cómo tengo el control del bloqueo de registros ???
Si :Edit() se encarga del bloqueo, ¿Cuando se libera el registro?
¿Como hago para volver al registro que estaba antes de modificar???
De momento, eso...
Un Saludo,
Xevi.
--
- ignacio
- Site Admin
- Mensajes: 9447
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Sobre DataSet
Xevi,
Los ves durante el proceso de Update() o incluso durante la propia edición?
Para parar el pintado puedes hacer oBrowse:lRedraw a .F.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=431ec7fc@ozsrvnegro.ozlan.local...]431ec7fc@ozsrvnegro.ozlan.local...[/email]
Ignacio,
>Correctísimo
Me alegro... ya le voy cojiendo el feeling a Xailer!!!
Una cosa mas...
Al entrar en el Bucle, y modificar los datos del DataSet, se va modificando también el DBBrowse...
¿Hay alguna manera de "paralizar" el DBBrowse hasta que no termine el bucle???
He probado poner DBBrowse1:lEnabled a .F., pero hace lo mismo...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ebeda$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
>> ::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
Para ello deberás pasarle además un .T. como parametro. Y sinceramente no te lo recomiendo a no ser de que montes un sistema de autocancelación por tiempo o quites el telefóno al usuario y además le esposes al ordenador
>> ¿Es correcto... es así como debe de hacerse???
Correctísimo
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:431eaef7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Esto es parte de un proceso para cambiar datos a una Dbf, a partir de un DataSet...
METHOD xFactura( dDataAbono, cFactura ) CLASS TFrmControlIncidents
If Val( cFactura ) = 0
return Nil
EndIf
::oDbfDataSet1:OrdSetFocus( 4 )
::oDbfDataSet1:Seek( Dtos( dDataAbono ) )
While !::oDbfDataSet1:Eof() .and. ::oDbfDataSet1:FieldGetByName("DATAABONO") == dDataAbono
::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
::oDbfDataSet1:FACTURA := Str( Val( cFactura ), 5 )
::oDbfDataSet1:Update()
::oDbfDataSet1:Skip()
EndDo
::oDbfDataSet1:OrdSetFocus( 6 )
::oDbfDataSet1:GoTop()
::oDbfDataSet1:Refresh()
Bien, el cambio lo hace perfectamente... ahora bien.
¿Es correcto... es así como debe de hacerse???
De ser correcto...
¿Cómo tengo el control del bloqueo de registros ???
Si :Edit() se encarga del bloqueo, ¿Cuando se libera el registro?
¿Como hago para volver al registro que estaba antes de modificar???
De momento, eso...
Un Saludo,
Xevi.
--
Los ves durante el proceso de Update() o incluso durante la propia edición?
Para parar el pintado puedes hacer oBrowse:lRedraw a .F.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=431ec7fc@ozsrvnegro.ozlan.local...]431ec7fc@ozsrvnegro.ozlan.local...[/email]
Ignacio,
>Correctísimo
Me alegro... ya le voy cojiendo el feeling a Xailer!!!
Una cosa mas...
Al entrar en el Bucle, y modificar los datos del DataSet, se va modificando también el DBBrowse...
¿Hay alguna manera de "paralizar" el DBBrowse hasta que no termine el bucle???
He probado poner DBBrowse1:lEnabled a .F., pero hace lo mismo...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ebeda$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
>> ::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
Para ello deberás pasarle además un .T. como parametro. Y sinceramente no te lo recomiendo a no ser de que montes un sistema de autocancelación por tiempo o quites el telefóno al usuario y además le esposes al ordenador

>> ¿Es correcto... es así como debe de hacerse???
Correctísimo
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:431eaef7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Esto es parte de un proceso para cambiar datos a una Dbf, a partir de un DataSet...
METHOD xFactura( dDataAbono, cFactura ) CLASS TFrmControlIncidents
If Val( cFactura ) = 0
return Nil
EndIf
::oDbfDataSet1:OrdSetFocus( 4 )
::oDbfDataSet1:Seek( Dtos( dDataAbono ) )
While !::oDbfDataSet1:Eof() .and. ::oDbfDataSet1:FieldGetByName("DATAABONO") == dDataAbono
::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
::oDbfDataSet1:FACTURA := Str( Val( cFactura ), 5 )
::oDbfDataSet1:Update()
::oDbfDataSet1:Skip()
EndDo
::oDbfDataSet1:OrdSetFocus( 6 )
::oDbfDataSet1:GoTop()
::oDbfDataSet1:Refresh()
Bien, el cambio lo hace perfectamente... ahora bien.
¿Es correcto... es así como debe de hacerse???
De ser correcto...
¿Cómo tengo el control del bloqueo de registros ???
Si :Edit() se encarga del bloqueo, ¿Cuando se libera el registro?
¿Como hago para volver al registro que estaba antes de modificar???
De momento, eso...
Un Saludo,
Xevi.
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Sobre DataSet
Ignacio,
En el proceso de Update() o en el Skip(), si saco uno el otro refresca el DBBrowse.
De momento lo que tengo echo, es abrir la DBF, en otra instancia, modificar los datos y cerrar. Luego hago un Refresh() del DataSet, y listo funcionando...
Tengo que darle mas caña al DataSet...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ed602$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
Los ves durante el proceso de Update() o incluso durante la propia edición?
Para parar el pintado puedes hacer oBrowse:lRedraw a .F.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=431ec7fc@ozsrvnegro.ozlan.local...]431ec7fc@ozsrvnegro.ozlan.local...[/email]
Ignacio,
>Correctísimo
Me alegro... ya le voy cojiendo el feeling a Xailer!!!
Una cosa mas...
Al entrar en el Bucle, y modificar los datos del DataSet, se va modificando también el DBBrowse...
¿Hay alguna manera de "paralizar" el DBBrowse hasta que no termine el bucle???
He probado poner DBBrowse1:lEnabled a .F., pero hace lo mismo...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ebeda$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
>> ::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
Para ello deberás pasarle además un .T. como parametro. Y sinceramente no te lo recomiendo a no ser de que montes un sistema de autocancelación por tiempo o quites el telefóno al usuario y además le esposes al ordenador
>> ¿Es correcto... es así como debe de hacerse???
Correctísimo
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:431eaef7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Esto es parte de un proceso para cambiar datos a una Dbf, a partir de un DataSet...
METHOD xFactura( dDataAbono, cFactura ) CLASS TFrmControlIncidents
If Val( cFactura ) = 0
return Nil
EndIf
::oDbfDataSet1:OrdSetFocus( 4 )
::oDbfDataSet1:Seek( Dtos( dDataAbono ) )
While !::oDbfDataSet1:Eof() .and. ::oDbfDataSet1:FieldGetByName("DATAABONO") == dDataAbono
::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
::oDbfDataSet1:FACTURA := Str( Val( cFactura ), 5 )
::oDbfDataSet1:Update()
::oDbfDataSet1:Skip()
EndDo
::oDbfDataSet1:OrdSetFocus( 6 )
::oDbfDataSet1:GoTop()
::oDbfDataSet1:Refresh()
Bien, el cambio lo hace perfectamente... ahora bien.
¿Es correcto... es así como debe de hacerse???
De ser correcto...
¿Cómo tengo el control del bloqueo de registros ???
Si :Edit() se encarga del bloqueo, ¿Cuando se libera el registro?
¿Como hago para volver al registro que estaba antes de modificar???
De momento, eso...
Un Saludo,
Xevi.
--
En el proceso de Update() o en el Skip(), si saco uno el otro refresca el DBBrowse.
De momento lo que tengo echo, es abrir la DBF, en otra instancia, modificar los datos y cerrar. Luego hago un Refresh() del DataSet, y listo funcionando...
Tengo que darle mas caña al DataSet...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ed602$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
Los ves durante el proceso de Update() o incluso durante la propia edición?
Para parar el pintado puedes hacer oBrowse:lRedraw a .F.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=431ec7fc@ozsrvnegro.ozlan.local...]431ec7fc@ozsrvnegro.ozlan.local...[/email]
Ignacio,
>Correctísimo
Me alegro... ya le voy cojiendo el feeling a Xailer!!!
Una cosa mas...
Al entrar en el Bucle, y modificar los datos del DataSet, se va modificando también el DBBrowse...
¿Hay alguna manera de "paralizar" el DBBrowse hasta que no termine el bucle???
He probado poner DBBrowse1:lEnabled a .F., pero hace lo mismo...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ebeda$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
>> ::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
Para ello deberás pasarle además un .T. como parametro. Y sinceramente no te lo recomiendo a no ser de que montes un sistema de autocancelación por tiempo o quites el telefóno al usuario y además le esposes al ordenador

>> ¿Es correcto... es así como debe de hacerse???
Correctísimo
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:431eaef7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Esto es parte de un proceso para cambiar datos a una Dbf, a partir de un DataSet...
METHOD xFactura( dDataAbono, cFactura ) CLASS TFrmControlIncidents
If Val( cFactura ) = 0
return Nil
EndIf
::oDbfDataSet1:OrdSetFocus( 4 )
::oDbfDataSet1:Seek( Dtos( dDataAbono ) )
While !::oDbfDataSet1:Eof() .and. ::oDbfDataSet1:FieldGetByName("DATAABONO") == dDataAbono
::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
::oDbfDataSet1:FACTURA := Str( Val( cFactura ), 5 )
::oDbfDataSet1:Update()
::oDbfDataSet1:Skip()
EndDo
::oDbfDataSet1:OrdSetFocus( 6 )
::oDbfDataSet1:GoTop()
::oDbfDataSet1:Refresh()
Bien, el cambio lo hace perfectamente... ahora bien.
¿Es correcto... es así como debe de hacerse???
De ser correcto...
¿Cómo tengo el control del bloqueo de registros ???
Si :Edit() se encarga del bloqueo, ¿Cuando se libera el registro?
¿Como hago para volver al registro que estaba antes de modificar???
De momento, eso...
Un Saludo,
Xevi.
--
- ignacio
- Site Admin
- Mensajes: 9447
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Sobre DataSet
Xevi,
Mirate bien los metódos DataSet:SaveState y RestoreState
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=431eda60@ozsrvnegro.ozlan.local...]431eda60@ozsrvnegro.ozlan.local...[/email]
Ignacio,
En el proceso de Update() o en el Skip(), si saco uno el otro refresca el DBBrowse.
De momento lo que tengo echo, es abrir la DBF, en otra instancia, modificar los datos y cerrar. Luego hago un Refresh() del DataSet, y listo funcionando...
Tengo que darle mas caña al DataSet...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ed602$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
Los ves durante el proceso de Update() o incluso durante la propia edición?
Para parar el pintado puedes hacer oBrowse:lRedraw a .F.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=431ec7fc@ozsrvnegro.ozlan.local...]431ec7fc@ozsrvnegro.ozlan.local...[/email]
Ignacio,
>Correctísimo
Me alegro... ya le voy cojiendo el feeling a Xailer!!!
Una cosa mas...
Al entrar en el Bucle, y modificar los datos del DataSet, se va modificando también el DBBrowse...
¿Hay alguna manera de "paralizar" el DBBrowse hasta que no termine el bucle???
He probado poner DBBrowse1:lEnabled a .F., pero hace lo mismo...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ebeda$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
>> ::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
Para ello deberás pasarle además un .T. como parametro. Y sinceramente no te lo recomiendo a no ser de que montes un sistema de autocancelación por tiempo o quites el telefóno al usuario y además le esposes al ordenador
>> ¿Es correcto... es así como debe de hacerse???
Correctísimo
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:431eaef7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Esto es parte de un proceso para cambiar datos a una Dbf, a partir de un DataSet...
METHOD xFactura( dDataAbono, cFactura ) CLASS TFrmControlIncidents
If Val( cFactura ) = 0
return Nil
EndIf
::oDbfDataSet1:OrdSetFocus( 4 )
::oDbfDataSet1:Seek( Dtos( dDataAbono ) )
While !::oDbfDataSet1:Eof() .and. ::oDbfDataSet1:FieldGetByName("DATAABONO") == dDataAbono
::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
::oDbfDataSet1:FACTURA := Str( Val( cFactura ), 5 )
::oDbfDataSet1:Update()
::oDbfDataSet1:Skip()
EndDo
::oDbfDataSet1:OrdSetFocus( 6 )
::oDbfDataSet1:GoTop()
::oDbfDataSet1:Refresh()
Bien, el cambio lo hace perfectamente... ahora bien.
¿Es correcto... es así como debe de hacerse???
De ser correcto...
¿Cómo tengo el control del bloqueo de registros ???
Si :Edit() se encarga del bloqueo, ¿Cuando se libera el registro?
¿Como hago para volver al registro que estaba antes de modificar???
De momento, eso...
Un Saludo,
Xevi.
--
Mirate bien los metódos DataSet:SaveState y RestoreState
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=431eda60@ozsrvnegro.ozlan.local...]431eda60@ozsrvnegro.ozlan.local...[/email]
Ignacio,
En el proceso de Update() o en el Skip(), si saco uno el otro refresca el DBBrowse.
De momento lo que tengo echo, es abrir la DBF, en otra instancia, modificar los datos y cerrar. Luego hago un Refresh() del DataSet, y listo funcionando...
Tengo que darle mas caña al DataSet...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ed602$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
Los ves durante el proceso de Update() o incluso durante la propia edición?
Para parar el pintado puedes hacer oBrowse:lRedraw a .F.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=431ec7fc@ozsrvnegro.ozlan.local...]431ec7fc@ozsrvnegro.ozlan.local...[/email]
Ignacio,
>Correctísimo
Me alegro... ya le voy cojiendo el feeling a Xailer!!!
Una cosa mas...
Al entrar en el Bucle, y modificar los datos del DataSet, se va modificando también el DBBrowse...
¿Hay alguna manera de "paralizar" el DBBrowse hasta que no termine el bucle???
He probado poner DBBrowse1:lEnabled a .F., pero hace lo mismo...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ebeda$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
>> ::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
Para ello deberás pasarle además un .T. como parametro. Y sinceramente no te lo recomiendo a no ser de que montes un sistema de autocancelación por tiempo o quites el telefóno al usuario y además le esposes al ordenador

>> ¿Es correcto... es así como debe de hacerse???
Correctísimo
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:431eaef7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Esto es parte de un proceso para cambiar datos a una Dbf, a partir de un DataSet...
METHOD xFactura( dDataAbono, cFactura ) CLASS TFrmControlIncidents
If Val( cFactura ) = 0
return Nil
EndIf
::oDbfDataSet1:OrdSetFocus( 4 )
::oDbfDataSet1:Seek( Dtos( dDataAbono ) )
While !::oDbfDataSet1:Eof() .and. ::oDbfDataSet1:FieldGetByName("DATAABONO") == dDataAbono
::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
::oDbfDataSet1:FACTURA := Str( Val( cFactura ), 5 )
::oDbfDataSet1:Update()
::oDbfDataSet1:Skip()
EndDo
::oDbfDataSet1:OrdSetFocus( 6 )
::oDbfDataSet1:GoTop()
::oDbfDataSet1:Refresh()
Bien, el cambio lo hace perfectamente... ahora bien.
¿Es correcto... es así como debe de hacerse???
De ser correcto...
¿Cómo tengo el control del bloqueo de registros ???
Si :Edit() se encarga del bloqueo, ¿Cuando se libera el registro?
¿Como hago para volver al registro que estaba antes de modificar???
De momento, eso...
Un Saludo,
Xevi.
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Sobre DataSet
Ignacio, fuente de sabiduría !!!
Problema resuelto, Gracias.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431edb30$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
Mirate bien los metódos DataSet:SaveState y RestoreState
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=431eda60@ozsrvnegro.ozlan.local...]431eda60@ozsrvnegro.ozlan.local...[/email]
Ignacio,
En el proceso de Update() o en el Skip(), si saco uno el otro refresca el DBBrowse.
De momento lo que tengo echo, es abrir la DBF, en otra instancia, modificar los datos y cerrar. Luego hago un Refresh() del DataSet, y listo funcionando...
Tengo que darle mas caña al DataSet...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ed602$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
Los ves durante el proceso de Update() o incluso durante la propia edición?
Para parar el pintado puedes hacer oBrowse:lRedraw a .F.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=431ec7fc@ozsrvnegro.ozlan.local...]431ec7fc@ozsrvnegro.ozlan.local...[/email]
Ignacio,
>Correctísimo
Me alegro... ya le voy cojiendo el feeling a Xailer!!!
Una cosa mas...
Al entrar en el Bucle, y modificar los datos del DataSet, se va modificando también el DBBrowse...
¿Hay alguna manera de "paralizar" el DBBrowse hasta que no termine el bucle???
He probado poner DBBrowse1:lEnabled a .F., pero hace lo mismo...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ebeda$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
>> ::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
Para ello deberás pasarle además un .T. como parametro. Y sinceramente no te lo recomiendo a no ser de que montes un sistema de autocancelación por tiempo o quites el telefóno al usuario y además le esposes al ordenador
>> ¿Es correcto... es así como debe de hacerse???
Correctísimo
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:431eaef7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Esto es parte de un proceso para cambiar datos a una Dbf, a partir de un DataSet...
METHOD xFactura( dDataAbono, cFactura ) CLASS TFrmControlIncidents
If Val( cFactura ) = 0
return Nil
EndIf
::oDbfDataSet1:OrdSetFocus( 4 )
::oDbfDataSet1:Seek( Dtos( dDataAbono ) )
While !::oDbfDataSet1:Eof() .and. ::oDbfDataSet1:FieldGetByName("DATAABONO") == dDataAbono
::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
::oDbfDataSet1:FACTURA := Str( Val( cFactura ), 5 )
::oDbfDataSet1:Update()
::oDbfDataSet1:Skip()
EndDo
::oDbfDataSet1:OrdSetFocus( 6 )
::oDbfDataSet1:GoTop()
::oDbfDataSet1:Refresh()
Bien, el cambio lo hace perfectamente... ahora bien.
¿Es correcto... es así como debe de hacerse???
De ser correcto...
¿Cómo tengo el control del bloqueo de registros ???
Si :Edit() se encarga del bloqueo, ¿Cuando se libera el registro?
¿Como hago para volver al registro que estaba antes de modificar???
De momento, eso...
Un Saludo,
Xevi.
--
Problema resuelto, Gracias.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431edb30$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
Mirate bien los metódos DataSet:SaveState y RestoreState
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=431eda60@ozsrvnegro.ozlan.local...]431eda60@ozsrvnegro.ozlan.local...[/email]
Ignacio,
En el proceso de Update() o en el Skip(), si saco uno el otro refresca el DBBrowse.
De momento lo que tengo echo, es abrir la DBF, en otra instancia, modificar los datos y cerrar. Luego hago un Refresh() del DataSet, y listo funcionando...
Tengo que darle mas caña al DataSet...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ed602$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
Los ves durante el proceso de Update() o incluso durante la propia edición?
Para parar el pintado puedes hacer oBrowse:lRedraw a .F.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=431ec7fc@ozsrvnegro.ozlan.local...]431ec7fc@ozsrvnegro.ozlan.local...[/email]
Ignacio,
>Correctísimo
Me alegro... ya le voy cojiendo el feeling a Xailer!!!
Una cosa mas...
Al entrar en el Bucle, y modificar los datos del DataSet, se va modificando también el DBBrowse...
¿Hay alguna manera de "paralizar" el DBBrowse hasta que no termine el bucle???
He probado poner DBBrowse1:lEnabled a .F., pero hace lo mismo...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:431ebeda$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
>> ::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
Para ello deberás pasarle además un .T. como parametro. Y sinceramente no te lo recomiendo a no ser de que montes un sistema de autocancelación por tiempo o quites el telefóno al usuario y además le esposes al ordenador

>> ¿Es correcto... es así como debe de hacerse???
Correctísimo
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:431eaef7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Esto es parte de un proceso para cambiar datos a una Dbf, a partir de un DataSet...
METHOD xFactura( dDataAbono, cFactura ) CLASS TFrmControlIncidents
If Val( cFactura ) = 0
return Nil
EndIf
::oDbfDataSet1:OrdSetFocus( 4 )
::oDbfDataSet1:Seek( Dtos( dDataAbono ) )
While !::oDbfDataSet1:Eof() .and. ::oDbfDataSet1:FieldGetByName("DATAABONO") == dDataAbono
::oDbfDataSet1:Edit() //Aqui supongo que debe de hacer el bloqueo del registro
::oDbfDataSet1:FACTURA := Str( Val( cFactura ), 5 )
::oDbfDataSet1:Update()
::oDbfDataSet1:Skip()
EndDo
::oDbfDataSet1:OrdSetFocus( 6 )
::oDbfDataSet1:GoTop()
::oDbfDataSet1:Refresh()
Bien, el cambio lo hace perfectamente... ahora bien.
¿Es correcto... es así como debe de hacerse???
De ser correcto...
¿Cómo tengo el control del bloqueo de registros ???
Si :Edit() se encarga del bloqueo, ¿Cuando se libera el registro?
¿Como hago para volver al registro que estaba antes de modificar???
De momento, eso...
Un Saludo,
Xevi.
--