Página 1 de 1

Create TDBFDataSet x Table in use

Publicado: Sab Sep 15, 2018 10:43 pm
por Hurricane
a través de código es posible crear un TDBFDataSet de una tabla en uso (abierta)?
Menu principal -> Form A (browse/USE Table/Sin DataSet) -> FORM B (Aquí crear el DataSet para la Inclusión / Edición)

No quería crear en Form A para después compartir con el form B. No forzar el cierre y reapertura de la tabla.
Desde cualquier parte del sistema, podría llamar al FORM B, sólo con ALIAS (entonces crear el DataSet) o con el DataSet.

Re: Create TDBFDataSet x Table in use

Publicado: Lun Sep 17, 2018 9:58 am
por ignacio
Buenos días,

Consulte el método TDbfDatasetClone(). Espero que sea lo que está buscando

Un saludo

Re: Create TDBFDataSet x Table in use

Publicado: Lun Oct 01, 2018 1:57 pm
por Hurricane
Buenos días,

yo había consultado. Con clone tendrá 2 instancias (DataSet) y 2 alias para la misma tabla.

Explicando mejor.
Me gustaría crear un DataSet (en el Form 2) de una tabla que ya abierta (a través de USE en el Form 1) y todavía no tiene ningún DataSet. Actualmente creo que esto no es posible en Xailer, obligando a crear el DataSet sólo de las tablas cerradas.

Tal vez utilice el modo tradicional o crear un método en la clase TDBFDataSet.

gracias.

Re: Create TDBFDataSet x Table in use

Publicado: Lun Oct 01, 2018 6:21 pm
por ignacio
Buenos días,

Ello no supondría ningún problema a no ser que necesite abrir la tabla en modo exclusivo. Con Harbour se pueden tener miles de handles abiertos de ficheros. La limitación de CA-Clipper ya no existe. Además teniendo dos alias distintos se olvida del problema de movimientos del recno, filtros o cambios de ordenes. En definitiva, y en mi opinión, las ventajas de manejar dos alias son tremendas.

No obstante si lo que desea es evitarlo y dado un alias confeccionar un objeto TDbfDataset() simplemente cree un constructor de CreateFromAlias( cAlias ) y siga los pasos que se muestran en el método TDbfDataSet:Open().

Saludos

Nota: Creo que Harbour tiene una función que dado un Alias retorna el nombre del fichero DBF, pero desconozco su nombre.