La Web del Programador: Comunidad de Programadores
 
    Pregunta:  63294 - MODIFICAR UN DFB POR VARIOS USUARIOS
Autor:  claudio claudio
Hola amigos
tengo un problema , trabajo con una aplicacion de fox pro 2.6 y necesito saber si existe la posibilidad de abrir y modificar un dbf simultaneamente entre dos o mas pc en red
intente con use .dbf shared pero esto solo deja abrir no modificar
de ante mano gracias

  Respuesta:  hancito2003
Hola.

Es posible eso que dices. Tambien utilizo fox 2.6 y utilizo aplicaciones en red.
El abrir y salvar o modificar al mismo tiempo no es ningun problema. El problema esta en que cada usuario trate de agregar un registro nuevo al mismo tiempo. El sistema hace un APPEND BLANK al mismo tiempo y uno de los registros no se copiara ya que ambos lo hacen en el mismo numero de registro. Pero para tu problema aqui va la solucion:

Puedes utilizar alias para abrir las DBF o simplemente utilizar SELECT:

Select 1
use nominas
set order to codigo

select 2
use empleados
set order to codigo

Ya desde aqui, en ves de abrir nuevamente las DBF, solo las pones en uso porque ya estan abiertas, es decir, imagino que lo haces asi:

Use nominas

DO WHILE .T.
@5,5 say "Codigo del Empleado:"+ get codigo pict"999999"
read

if lastkey()=28
return
endif

if empty(codigo)
use empleados
set order to apellido
go top
brow last
codigo=codemp
loop
endif

use nominas
go top
seek codigo

ENDDO

Entonces, ahora lo haras asi:

select 1

DO WHILE .T.
@5,5 say "Codigo del Empleado:"+ get codigo pict"999999"
read

if lastkey()=28
return
endif

if empty(codigo)
select 2
set order to apellido
go top
brow last
codigo=codemp
loop
endif

select 1
go top
seek codigo

ENDDO

Cada vez que abres una DBF con un USE, la otra se cierra, por eso es que en vez de abrir cada una cada vez (que tambien satura la memoria de la pc), lo haces con un select. Si quieres abrir otra, subes donde declaras los select y tambien la declaras con otro select. De este modo puedes utilizarla cuantas veces quieras y tu programa quedara con las condiciones para compartirse en varias pc y ser utilizado por varias personas al mismo tiempo.

Suerte.-