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.

A ver si paro de dar vueltas

Foro público de Xailer en español
Responder
JavierCantarero
Mensajes: 36
Registrado: Mié Jul 23, 2014 10:26 am

A ver si paro de dar vueltas

Mensaje por JavierCantarero »

Buenas, ahora mismo tengo una duda que es más de principiantes, pero acostumbrado a hacerlo en clipper de una manera, no encuentro el sitio exacto donde realizarlo, me refiero a dónde abrir las bases de datos, utilizo DBF's, y no tengo nada claro donde se abre con harbour-xailer.

Yo, generalmente, abro y cierro en cada opción del programa.

Si estoy en mantenimiento de facturas y llamo al módulo de mantenimiento de artículos, en el segundo controlo si está abierto el dbf para no volver a abrirlo, pero me da errores de que el área de trabajo no está en uso. Si hago en mantenimiento de facturas:

WITH OJBECT MainArt()
:oDbfArt := ::oDbfArt

esto no funciona.

Por favor, ¿cómo lo haceis?

¿Acaso abren ustedes todas las tablas en el módulo principal?
¿Abren ustedes dos veces la tabla, una en mantenimiento de facturas y cuando llamáis a mantenimiento de artículos dejáis que también lo abra?
O desde mantenimiento de facturas sólo hacéis consultas de la tabla de artículos, pero ¿no dejáis dar de alta artículos desde mantenimiento de facturas?

Bueno, a ver si un alma caritativa me ayuda con este tema, creo que es lo que me falta para decidirme por xailer.

Muchas gracias
Saludos
Javi Cantero
pacoelche
Mensajes: 141
Registrado: Mar Jul 11, 2006 10:32 am

Re: A ver si paro de dar vueltas

Mensaje por pacoelche »

Javier, supongo que eso te pasa porque no cierras la tabla cuando sales del módulo.

Paco Martínez
JavierCantarero
Mensajes: 36
Registrado: Mié Jul 23, 2014 10:26 am

Re: A ver si paro de dar vueltas

Mensaje por JavierCantarero »

Hola Paco, si cierro. Mi consulta es donde abren ustedes.

Cuando llamais a un modulo que abre y ya esta abierto, dejais que abra de nuevo o controlais de alguna manera que no abra. Y si es asi, que haceis con los datacontrol, cambiais en ejecución los nombres de los dataset?

Muchas gracias
Saludos
Jabi cantero
JavierCantarero
Mensajes: 36
Registrado: Mié Jul 23, 2014 10:26 am

Re: A ver si paro de dar vueltas

Mensaje por JavierCantarero »

no es tan dificil, o ¿ es secreto de estado ?

¿en qué parte del modulo abren ustedes los ficheros de datos?, ¿o es en el módulo principal?

Muchas gracias a todos por vuestra paciencia conmigo.
Saludos cordiales
Javier Cantero
jrcpoli
Mensajes: 240
Registrado: Mié Oct 25, 2006 8:55 pm

Re: A ver si paro de dar vueltas

Mensaje por jrcpoli »

Saludos:
Vero que sigues repitiendo la pregunta, pero es que la respuesta puede ser múltiple, dependiendo del tipo de formularios que emplees en tu aplicación.
Yo uso dos DataSet para toda la aplicación que apuntan a las dos carpetas que contienen los ficheros y luego los empleo en todos los formularios en los que tengo que abrir una base de datos usando el evento OnCreate del DataSet así:
METHOD DbfPlanCreate( oSender ) CLASS TFormPlanConcursos

** Abrir la base de datos de Plan de concursos
WITH OBJECT oSender
:oDataSource := Application:oMainForm:oCdxDSReloj
:lOpen := .F. // Cerramos la Tabla
:lShared := .F. // La ponemos en modo exlusivo
:lOpen := .T. // Abrimos la Tabla
:Pack( .T. ) // La Empaquetamos
:Reindex( .T.) // Reorganizamos indices
:lOpen := .F. // Cerramos la tabla
:lShared := .T. // La ponemos en modo compartido
IF :lOpen:= .T. // Abrimos la Tabla
:OrdSetFocus("NUMERO")
ENDIF
*
END

RETURN Nil

Y en otras aplicaciones abro todas los DataSet en el Formulario del Menú cuando empleo formularios que pueden estar abiertos sin ser nodales, esto es que no se pueda abrir uno sino esta cerrado el anterior.

También compruebo el estado de todas las bases de datos desde un formulario que se ejecuta y se cierra cuando termina, que se llama desde el fichero que llama al programa y después de estar en pantalla en formulario principal de esta forma:
* Comprobar bases de datos y sus indices
oComprobar := TFormCompdbf():New( Application )
oComprobar:ShowModal()

o me da tiempo a ser mas exacto.
José Ramón Castro.
JavierCantarero
Mensajes: 36
Registrado: Mié Jul 23, 2014 10:26 am

Re: A ver si paro de dar vueltas

Mensaje por JavierCantarero »

Hola Jose Ramón, muchísimas gracias por tu tiempo y por tus explicaciones.

Saludos cordiales
Javier Cantero
Responder