FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ¿ Existe una función que indique si una tabla esta abierta ?
Posts: 79
Joined: Wed Mar 06, 2019 08:28 PM
¿ Existe una función que indique si una tabla esta abierta ?
Posted: Tue Jun 27, 2023 10:28 PM

Por ejemplo :

USE Clientes

/* Clientes está abierta +/

var:=TablaAbierta("Clientes")

var -> .T. o O o cualquier respuesta

Saludos y gracias por la ayuda.

"Porque Jehová da la sabiduría , Y de su boca viene el conocimiento y la inteligencia Proverbios 2:6"

FWH 1903 + Bcc7 + PellesC + XEdit easycomp613@gmail.com

Waldemar
Colbún Chile
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: ¿ Existe una función que indique si una tabla esta abierta ?
Posted: Wed Jun 28, 2023 11:14 AM

Puedes usar:

USE Clientes

? Used()

? Alias()

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 537
Joined: Mon Jan 16, 2006 03:42 PM
Re: ¿ Existe una función que indique si una tabla esta abierta ?
Posted: Wed Jun 28, 2023 01:44 PM

Hola Waldemar, tienes algun email

Saludos

Posts: 79
Joined: Wed Mar 06, 2019 08:28 PM
Re: ¿ Existe una función que indique si una tabla esta abierta ?
Posted: Wed Jun 28, 2023 07:53 PM

Estimado Antonio

Muchas gracias por la respuesta, pero me refiero cuando hay muchas tablas abiertas y quiero saber si una en particular esta abierta.

Saludos

"Porque Jehová da la sabiduría , Y de su boca viene el conocimiento y la inteligencia Proverbios 2:6"

FWH 1903 + Bcc7 + PellesC + XEdit easycomp613@gmail.com

Waldemar
Colbún Chile
Posts: 79
Joined: Wed Mar 06, 2019 08:28 PM
Re: ¿ Existe una función que indique si una tabla esta abierta ?
Posted: Wed Jun 28, 2023 08:18 PM
jbrita

Si, mi correo es easycomp613@gmail.com

Saludos
"Porque Jehová da la sabiduría , Y de su boca viene el conocimiento y la inteligencia Proverbios 2:6"

FWH 1903 + Bcc7 + PellesC + XEdit easycomp613@gmail.com

Waldemar
Colbún Chile
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: ¿ Existe una función que indique si una tabla esta abierta ?
Posted: Wed Jun 28, 2023 08:21 PM
Mira...
Code (fw): Select all Collapse
   IF .NOT. FUSE("80","CADPARAM") // CADPARAM.DBF

      MsgStop( OemToAnsi( "ATEN€ÇO:          MANUTEN€ÇO DO PLENO:" ) +CRLF+ ;
               OemToAnsi( "SISTEMA EM MANUTEN€ÇO...   PAR¶METROS." ) +CRLF+ ;
               OemToAnsi( "ENQUANTO NÇO SAIREM DA MANUTEN€ÇO,    " ) +CRLF+ ;
               OemToAnsi( "NENHUM USUµRIO PODERµ ENTRAR NO PLENO." ) +CRLF+ ;
               OemToAnsi( "PE€A PARA SAIREM DA MANUTEN€ÇO->PLENO." ) +CRLF+ ;
               OemToAnsi( "PAR¶METROS DO PLENO BLOQUEADO.  OOOPS!" ) +CRLF+ ;
               OemToAnsi( "TECLE <ENTER> PARA SAIR DO PROGRAMA.  " ),       ;
               OemToAnsi( "SISTEMA EM MANUTEN€ÇO - PAR¶METROS.   " ) )

      LIBERA_TUDO()

      RETURN NIL

   ENDIF

FUNCTION FUSE( W_SEL, W_ARQ, C_ALIAS )

   PRIVATE W_TEM

   IF C_ALIAS=NIL

      IF SUBS(W_ARQ,1,4)="AAUX"
         c_Alias:= "AAUX"+W_SEL
      ELSE
         IF RAT("\",W_ARQ)>0
            c_Alias:= SUBS(W_ARQ,RAT("\",W_ARQ)+1,LEN(W_ARQ)-(RAT("\",W_ARQ)+IF(AT(".",W_ARQ)>0,4,0)))
         ELSE
            c_Alias:= SUBS(W_ARQ,1,LEN(W_ARQ)-IF(RAT(".",W_ARQ)>0,4,0))
         ENDIF
      ENDIF

   ENDIF

   IF WFILIAL
      WTARQ="CADCLIEN;CADTRANS;CADVENDE;CADREGIO;CADPRODU;CADCLAES;CADIPIES;" + ;
            "CADTRIES;CADCOMPO;CADFORPR;CADFORNE;CADOBRIG;CADTPFOR;CADOBSER;" + ;
            "CADTPSER;CADCUSTO;CADCONDI;CADHISBA;CADTPCLI;CADETIQU;CADFICHA;" + ;
            "CADEMPGD;CADASTCO;CADEXMED;CADREAJU;CADATCON;CADSINDI;CADPENDE;" + ;
            "CADEXAUD;CADEXPER;CADEXUNI;CADENDER;CADPROFI;CADAVULS;CADMEDIC;" + ;
            "CADJUSTI;CADSENHA;CADBANCO;CADMOVBA;CADCCVEN;CADDESCO;"                // CADMOEDA;"

      IF AT(W_ARQ,WTARQ)#0
         W_ARQ="..\"+W_ARQ
      ENDIF

   ENDIF

   SELE &W_SEL

   USE(W_ARQ) SHARED ALIAS(c_Alias) VIA "DBFCDX"

   IF.NOT.NETERR()
      RETURN( .T. )
   ENDIF

   W_TEM=0

   WHILE W_TEM <= 3

      SYSREFRESH()

      USE(W_ARQ) SHARED ALIAS(c_Alias) VIA "DBFCDX"

      IF.NOT.NETERR()
         RETURN( .T. )
      ENDIF

      W_TEM := W_TEM + 1

      SysWait( .5 )

   ENDDO

RETURN( .F. )
Regard, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 79
Joined: Wed Mar 06, 2019 08:28 PM
Re: ¿ Existe una función que indique si una tabla esta abierta ?
Posted: Wed Jun 28, 2023 09:07 PM

Karinha

Muchas gracias por tu aporte, pero estoy buscando una función (de FW) que me muestre si una tabla esta abierta.

Regards, saludos.

"Porque Jehová da la sabiduría , Y de su boca viene el conocimiento y la inteligencia Proverbios 2:6"

FWH 1903 + Bcc7 + PellesC + XEdit easycomp613@gmail.com

Waldemar
Colbún Chile
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: ¿ Existe una función que indique si una tabla esta abierta ?
Posted: Wed Jun 28, 2023 10:10 PM
Code (fw): Select all Collapse
Select( "tabla" )  // si tabla es el alias
? Used()
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 79
Joined: Wed Mar 06, 2019 08:28 PM
Re: ¿ Existe una función que indique si una tabla esta abierta ?
Posted: Thu Jun 29, 2023 06:39 AM

cnavarro

Estimado era exactamente lo que necesitaba muchas gracias y bendiciones.

Regards, Saludos

"Porque Jehová da la sabiduría , Y de su boca viene el conocimiento y la inteligencia Proverbios 2:6"

FWH 1903 + Bcc7 + PellesC + XEdit easycomp613@gmail.com

Waldemar
Colbún Chile
Posts: 1283
Joined: Fri Feb 10, 2006 02:34 PM
Re: ¿ Existe una función que indique si una tabla esta abierta ?
Posted: Thu Jun 29, 2023 11:22 AM
Bones,

Si usas alias esto te puede servir...
Code (php): Select all Collapse
#include 'fivewin.ch'

#xcommand TRY  => BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
#xcommand CATCH [<!oErr!>] => RECOVER [USING <oErr>] <-oErr->
#xcommand FINALLY => ALWAYS 

function main()

    local cError := ''

    USE states SHARED ALIAS 'ALIAS12345'
    
    if IsOpen( 'states.dbf', @cError )
        ? cError
    else
        ? 'Table no opened'
    endif   

return nil 

function IsOpen( cFile, cError )

    local lOpen := .f.
    local o
    
    cError := ''
    
    TRY 
        USE (cFile) NEW
        ( Alias() )->( dbclosearea() )      
    CATCH o 
        cError := o:description
        lOpen := .t.
    END 

return lOpen
Feliz verano a todos !

C.
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
HIX -> https://github.com/carles9000/hix
Posts: 79
Joined: Wed Mar 06, 2019 08:28 PM
Re: ¿ Existe una función que indique si una tabla esta abierta ?
Posted: Thu Jun 29, 2023 05:30 PM

Carles

Buenisimo ejemplo para manejar los errores de apertura de una tabla, muchas gracias y bendiciones.

Regards, Saludos.

"Porque Jehová da la sabiduría , Y de su boca viene el conocimiento y la inteligencia Proverbios 2:6"

FWH 1903 + Bcc7 + PellesC + XEdit easycomp613@gmail.com

Waldemar
Colbún Chile

Continue the discussion