Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Aplicacion Multiempresa
Message
De
01/03/2005 08:06:28
Hilmar Zonneveld
Independent Consultant
Cochabamba, Bolivie
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de projet
Divers
Thread ID:
00990828
Message ID:
00991505
Vues:
14
Bien, me alegro que funcione.

Ahora bien, como dice Alex, es mejor tener la información relevante por compañía, en una tabla, por ejemplo.

Además, tengo la impresión de que el código que escribes, en un formulario, presupone que todos los demás formularios usan la misma sesión de datos. Lo ideal es que cada formulario tenga su sesión de datos privada - eso te permite, con relativa facilidad, tener varios formularios abiertos al mismo tiempo.

Otra cosa que quisiera añadir es que una alternativa a abrir tablas (y la base de datos) en el DataEnvironment (entorno de datos) de cada formulario, también los puedes abrir en el evento Form.Load(). Quizás eso te dé más control, específicamente sobre la ruta de la BD.

Por ejemplo, si tienes una variable pública, gcDataPath, con el directorio de datos para el cliente actual:
* Form.Load(), del formulario "cliente"
open database (gcDataPath + "MyDataBase")
use (gcDataPath + "cliente")
(Si quieres ir más hacia OOP, reemplaza gcDataPath por una propiedad del objeto aplicación.)

Saludos,

Hilmar.

>Hilmar!!!
>
>Trabaja de lo maximo!
>
>Te cuento lo que hise :
>1-Quite el Contenedor de bases del proyecto
>2-cree carpetas para cada empresa(Empre01, empre02...) con todos las tablas de datos dentro de cada carpeta.
>3-use un formulario con una lista desplegable de 1 a x empresas y de acuerdo a la empresa que se selecciona uso el siguiente codigo:(este formulario se muestra al iniciar el sistema)
>
>nempresa=thisform.SpnerEmpresas.value
>IF nempresa=1
>	SET PATH TO C:\contable\EMPR01_
>	OPEN DATABASE c:\contable\empr01_\mycontenedor.dbc SHARED
>ELSE
>	SET PATH TO C:\contable\EMPR02_
>	OPEN DATABASE c:\contable\empr02_\mycontenedor.dbc SHARED
>ENDIF
>
>
>Gracias por tu ayuda. y a UT por tener este sitio excelente.
>
>
>Att
>William
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform