Hola,
¿cómo cambio una DBF de un DbBrowse???
Una aplicación, que sirve para datos de mas de una empresa...
no me sirve dar el nombre de la DBF en el IDE... pues dependiendo de la
empresa que tenga seleccionada, deberá de coger los datos de CMOVG04 o de
CMOVG05...
He probado a hacer...
en FormInitialize()
::oDbfDataSet1:cName := "T:ComptaCMOVG05.dbf"
::oDbBrowse1:Refresh( .t. )
Pero no me cambia los datos de la Dbf... me sigue mostrando los que le he
definido desd el IDE
"T:ComptaCMOVG04.dbf"
Gracias.
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.
Cambio de DBF en un DbBrowse
- ignacio
- Site Admin
- Mensajes: 9447
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Cambio de DBF en un DbBrowse
Xevi,
Bienvenido ante todo, y gracias por la confianza en Xailer y muy agradecido
por los elogios al equipo.
> Una aplicación, que sirve para datos de mas de una empresa...
> no me sirve dar el nombre de la DBF en el IDE... pues dependiendo de la
> empresa que tenga seleccionada, deberá de coger los datos de CMOVG04 o de
> CMOVG05...
Te entiendo perfectamente. Si tienes cada tabla en directorios distintos,
que es lo preferible, simplemente tendrás que modificar la propiedad
cConnect del DataSource. Dicha propiedad contiene el path (relativo o no a
donde esté el EXE) de donde se encuentran los datos, por ejemplo:
oDS:cConnect := ".datosEmp001"
Indica que los datos se encuentran en el directorio:
Donde_Este_El_EjecutabledatosEmp001
También puedes poner paths absolutos pero tiene menos flexibilidad como te
puedes imaginar.
De esta manera en el DataSet tan sólo tienes que indicar el nombre, por
ejemplo:
oDataSet:cName := "clientes.dbf"
Que cambias de empresa a la sólo tendrás que hacer:
oDS:cConnect := ".datosEmp002"
En la versión PR3a de Xailer que es la que tienes supongo, estos cambios no
producen ningún efecto si las tablas ya están abiertas. En dicho caso debes
de cerrar las tablas y volverlas a abrir y asunto arreglado. No obstante en
la versión actual de trabajo cualquier cambio de DataSet:cName o
DataSource:cConnect provoca un cerrado de tablas.
Yo te recomiendo que tengas siempre las tablas cerradas, y que las abras
todas de golpe con un sencillo:
oDataSource:OpenProcess()
Tan sólo necesitas abrir las tablas para añadir las columnas al Browse,
luego puedes cerrarlas. Además comprobarás que si no lo haces así no podrás
abrir tablas en modo exclusivo cuando ejecutes la aplicación desde el IDE.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:429dcb96$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola,
>
> ¿cómo cambio una DBF de un DbBrowse???
>
> Una aplicación, que sirve para datos de mas de una empresa...
> no me sirve dar el nombre de la DBF en el IDE... pues dependiendo de la
> empresa que tenga seleccionada, deberá de coger los datos de CMOVG04 o de
> CMOVG05...
>
> He probado a hacer...
> en FormInitialize()
>
> ::oDbfDataSet1:cName := "T:ComptaCMOVG05.dbf"
> ::oDbBrowse1:Refresh( .t. )
>
> Pero no me cambia los datos de la Dbf... me sigue mostrando los que le he
> definido desd el IDE
> "T:ComptaCMOVG04.dbf"
>
> Gracias.
>
> Un Saludo,
> Xevi.
>
Bienvenido ante todo, y gracias por la confianza en Xailer y muy agradecido
por los elogios al equipo.
> Una aplicación, que sirve para datos de mas de una empresa...
> no me sirve dar el nombre de la DBF en el IDE... pues dependiendo de la
> empresa que tenga seleccionada, deberá de coger los datos de CMOVG04 o de
> CMOVG05...
Te entiendo perfectamente. Si tienes cada tabla en directorios distintos,
que es lo preferible, simplemente tendrás que modificar la propiedad
cConnect del DataSource. Dicha propiedad contiene el path (relativo o no a
donde esté el EXE) de donde se encuentran los datos, por ejemplo:
oDS:cConnect := ".datosEmp001"
Indica que los datos se encuentran en el directorio:
Donde_Este_El_EjecutabledatosEmp001
También puedes poner paths absolutos pero tiene menos flexibilidad como te
puedes imaginar.
De esta manera en el DataSet tan sólo tienes que indicar el nombre, por
ejemplo:
oDataSet:cName := "clientes.dbf"
Que cambias de empresa a la sólo tendrás que hacer:
oDS:cConnect := ".datosEmp002"
En la versión PR3a de Xailer que es la que tienes supongo, estos cambios no
producen ningún efecto si las tablas ya están abiertas. En dicho caso debes
de cerrar las tablas y volverlas a abrir y asunto arreglado. No obstante en
la versión actual de trabajo cualquier cambio de DataSet:cName o
DataSource:cConnect provoca un cerrado de tablas.
Yo te recomiendo que tengas siempre las tablas cerradas, y que las abras
todas de golpe con un sencillo:
oDataSource:OpenProcess()
Tan sólo necesitas abrir las tablas para añadir las columnas al Browse,
luego puedes cerrarlas. Además comprobarás que si no lo haces así no podrás
abrir tablas en modo exclusivo cuando ejecutes la aplicación desde el IDE.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:429dcb96$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola,
>
> ¿cómo cambio una DBF de un DbBrowse???
>
> Una aplicación, que sirve para datos de mas de una empresa...
> no me sirve dar el nombre de la DBF en el IDE... pues dependiendo de la
> empresa que tenga seleccionada, deberá de coger los datos de CMOVG04 o de
> CMOVG05...
>
> He probado a hacer...
> en FormInitialize()
>
> ::oDbfDataSet1:cName := "T:ComptaCMOVG05.dbf"
> ::oDbBrowse1:Refresh( .t. )
>
> Pero no me cambia los datos de la Dbf... me sigue mostrando los que le he
> definido desd el IDE
> "T:ComptaCMOVG04.dbf"
>
> Gracias.
>
> 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