FoxPro/Visual FoxPro - ¿me enviarían un ejemplo de un prog. multiusuario?

 
Vista:

¿me enviarían un ejemplo de un prog. multiusuario?

Publicado por damián (21 intervenciones) el 07/01/2006 16:44:44
Tengo un programa hecho para multiusuario, pero no se como hacer para que al instalarlo en cada máquina cliente tome la base de datos que está en el servidor. ¿como hago para que los entornos de datos de los formularios referencien las tablas que están en el servidor? Cuando lo programé la base estaba en la carpeta C:\sistema\ (del disco local) y todos los entornos de datos de los formularios referencian a la base en esta ubicación. ¿como hago para que ahora referencien a la carpeta C:\sistema\ del servidor? Si hago un acceso directo desde las maquinas al .exe en el servidor todo anda bien, pero lo que quiero es dejar los .exe en cada máquina y la base en el servidor.
Por favor si alguien tiene algún ejemplo que me pueda servir sería de gran ayuda.
Muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿me enviarían un ejemplo de un prog. multiusuar

Publicado por bekyna (294 intervenciones) el 09/01/2006 20:25:41
mira te cuento lo que yo hice en un programa pra multiusuarios, lo primero es poner en programa proncipal
CLEAR ALL
SET DEFAULT TO \\Cservidor\servicios
PUBLIC titulo,RUTA,FORMULARIOS,REPORTES,TABLAS,MENUSES,ICONOS
ruta= SYS(5)+SYS(2003)+'\'
FORMULARIOS= RUTA+'formas\'
REPORTES= RUTA+'reportes\'
TABLAS= RUTA+'datos'
MENUSES=RUTA+'menus'
ICONOS=RUTA+'iconos'
SET DEFAULT TO &RUTA

Esto con el fin de especificar en primera que bd debe de estar en red, asi si yo pongo el acceso directo siempre va a reconocer la ruta SET DEFAULT TO \\Cservidor\servicios
ademas al hacer referencia a formualrios o iconos los puedo hacer de forma local no necesito poner la ruta en red, lo hago de la siguiente manera:
****
DO FORM &FORMULARIOS\frmcapturarama
****
para accesar a la base de datos pongo lo siguiente en el evento load de formulario y asi no la tengo que estar escribiendo a cada rato para entrar a la base de datos, basta que me refiera a la las tablas con su nombre(tampoco necesito ponerla en el entorno de datos, esto ademas me ahorrara espacio en memoria)
*****
CLOSE DATABASE
OPEN DATABASE &TABLAS\BASE_BITACORA SHARED &&ABRE LA BD DE FORMA COMPARTIDA
SELECT 2
USE datos_telem SHARED
SELECT 3

USE folio_telem SHARED
********
tambien pongo en el evento unload:
CLOSE DATABASE
CLOSE TABLES

De esta forma solo es suficiente poner mi acceso directo en las maquinas que lo requieran y de esta forma no voy a tener problemas ni para entrar a la base de datos ni para entrar a los formularios.
esto es claro a groso moso es mas complejo de explicar pero si lo deseas escribeme a mi correo y te explicare mas detalladamente.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿me enviarían un ejemplo de un prog. multiusuar

Publicado por jonathan (57 intervenciones) el 09/01/2006 21:08:54
Puedes utilizar una unidad virtual en Red

Es mas Facil

Solo tienes que hacer una copia de tu Menu y .prg (Guardar Como) de este modo trabajarias tando en el Servidor como el las Pc de Red:

PRG1 = Local
PRG2=Red

En tu Pc Local seria el PRG1 C:\Sistema\Nombre del ejecutable

En Red seria PRG2 W:\\Sistema\Nombre del Ejecutable

Generas ejecutable de Local, y despues de la Red

Ojo: Tenemos dos programas pero las tablas son las mismas, es decir, que se capturan en la misma base de datos

Despues en las PC de Red das clic derecho en Red del escritorio y pulsas sobre conectar a unidad a Red, seleccionas en este caso la unidad W y eliges en el servidor la carpeta C:\Sistema\

Suerte

cualquier duda escribeme...

Jonathan
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar