FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Manejar 2 o mas Dbf con Tdatabase
Posts: 1276
Joined: Tue Dec 28, 2010 01:29 PM
Manejar 2 o mas Dbf con Tdatabase
Posted: Wed Nov 30, 2011 07:38 PM

Buenas tardes,

Como puedo abrir y cerrar 2 o mas DBFs y no tener conflictos con sus Alias con la clase TDatabase?

Atento a sus cometarios

FWH 25.12

Harbour/Hbmk2

Microsoft Visual C++

MySql 8.0

Antigravity

Posts: 711
Joined: Thu Oct 06, 2005 09:57 PM
Re: Manejar 2 o mas Dbf con Tdatabase
Posted: Wed Nov 30, 2011 09:12 PM

Yo lo hago de la siguiente forma:

Local oDbf1, oDbf2

SELE clientes
oDbf1:tDatabase():New()

Sele Datos
oDbf2:tDatabase():New()

Un saludo



Manuel
Posts: 1276
Joined: Tue Dec 28, 2010 01:29 PM
Re: Manejar 2 o mas Dbf con Tdatabase
Posted: Wed Nov 30, 2011 09:17 PM

Gracias por tu pronta respuesta.

Solo se abren las DBFs o es para namejar Alias?

FWH 25.12

Harbour/Hbmk2

Microsoft Visual C++

MySql 8.0

Antigravity

Posts: 1276
Joined: Tue Dec 28, 2010 01:29 PM
Re: Manejar 2 o mas Dbf con Tdatabase
Posted: Wed Nov 30, 2011 09:24 PM

Lo que deseo es abrir varios DBFs en un mismo PRG sin que me cree conflictos al cerrarlos. Tengo una funcion para hacerlo

FUNCTION Abrir ( cArchivo, aIdx )
LOCAL cAlias
LOCAL oDbf

DbUseArea( .T. ,, cArchivo, cAlias, .T. )

oDbf:=TDatabase():New()
oDbf:GOTOP()

RETURN oDbf

El problema se presentra cuando trato de abrir 2 DBFs

::oDbf:= Abrir ( "CLIENTES", {} )
::cAlias:=Alias()

::oDbf:= Abrir ( "TIPOS", {} )
::cAlias:=Alias()

Algun tips?

FWH 25.12

Harbour/Hbmk2

Microsoft Visual C++

MySql 8.0

Antigravity

Posts: 711
Joined: Thu Oct 06, 2005 09:57 PM
Re: Manejar 2 o mas Dbf con Tdatabase
Posted: Thu Dec 01, 2011 05:00 AM

Yo lo hago de dos formas distintas.

1) Una funcion para abrir las dbf mas amplia: Donde incluyo la posibilidad de abrir los indices y el alias. En esta función nunca incluyo la DATABASE. ¿Que sentido tiene abrirla conjuntamente?

2) Cuando voy a añadir o editar un registro es cuando creo el objeto DATABASE que "mato" cuando termino la edición.

Un saludo



Manuel
Posts: 1276
Joined: Tue Dec 28, 2010 01:29 PM
Re: Manejar 2 o mas Dbf con Tdatabase
Posted: Thu Dec 01, 2011 09:09 AM

Tendras algun ejemplo?

FWH 25.12

Harbour/Hbmk2

Microsoft Visual C++

MySql 8.0

Antigravity

Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Manejar 2 o mas Dbf con Tdatabase
Posted: Thu Dec 01, 2011 01:24 PM
Compuin

Yo las manejo asi:
Code (fw): Select all Collapse
 Private oDBF1,oDBF2
 USE NIVELS INDEX NIVELS ALIAS NIVS NEW SHARED
 cCOD:=CODIGO
 NIVS->( dBCloseArea() )
 USE PLANIDET INDEX PLANIDET ALIAS PDET NEW SHARED
 DATABASE oDBF1
 Use TRABLAS Inde ALLTBL Alias TABLA  NEW SHARED
 DATABASE oDBF2

*...
 DbSelectArea("PDET") //Selecciona el Alias
*..

PDET->( dBCloseArea() );TABLA->( dBCloseArea() )


Saludos,

Adhemar
Saludos,



Adhemar C.

Continue the discussion