¿ Existe una función que indique si una tabla esta abierta ?

Post Reply
User avatar
wyerco613
Posts: 79
Joined: Wed Mar 06, 2019 8:28 pm

¿ Existe una función que indique si una tabla esta abierta ?

Post by wyerco613 »

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
User avatar
Antonio Linares
Site Admin
Posts: 42450
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 20 times
Been thanked: 58 times
Contact:

Re: ¿ Existe una función que indique si una tabla esta abierta ?

Post by Antonio Linares »

Puedes usar:

USE Clientes
? Used()
? Alias()
regards, saludos

Antonio Linares
www.fivetechsoft.com
jbrita
Posts: 507
Joined: Mon Jan 16, 2006 3:42 pm

Re: ¿ Existe una función que indique si una tabla esta abierta ?

Post by jbrita »

Hola Waldemar, tienes algun email

Saludos
User avatar
wyerco613
Posts: 79
Joined: Wed Mar 06, 2019 8:28 pm

Re: ¿ Existe una función que indique si una tabla esta abierta ?

Post by wyerco613 »

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
User avatar
wyerco613
Posts: 79
Joined: Wed Mar 06, 2019 8:28 pm

Re: ¿ Existe una función que indique si una tabla esta abierta ?

Post by wyerco613 »

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
User avatar
karinha
Posts: 7928
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 3 times
Contact:

Re: ¿ Existe una función que indique si una tabla esta abierta ?

Post by karinha »

Mira...

Code: Select all | Expand

   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
User avatar
wyerco613
Posts: 79
Joined: Wed Mar 06, 2019 8:28 pm

Re: ¿ Existe una función que indique si una tabla esta abierta ?

Post by wyerco613 »

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
User avatar
cnavarro
Posts: 6557
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Been thanked: 3 times

Re: ¿ Existe una función que indique si una tabla esta abierta ?

Post by cnavarro »

Code: Select all | Expand

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
User avatar
wyerco613
Posts: 79
Joined: Wed Mar 06, 2019 8:28 pm

Re: ¿ Existe una función que indique si una tabla esta abierta ?

Post by wyerco613 »

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
User avatar
Carles
Posts: 1149
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Been thanked: 6 times
Contact:

Re: ¿ Existe una función que indique si una tabla esta abierta ?

Post by Carles »

Bones,

Si usas alias esto te puede servir...

Code: Select all | Expand

#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
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
wyerco613
Posts: 79
Joined: Wed Mar 06, 2019 8:28 pm

Re: ¿ Existe una función que indique si una tabla esta abierta ?

Post by wyerco613 »

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
Post Reply