Abre uma tabela de dados na área de trabalho atual ou na primeira área de trabalho disponível.

A função DbUseArea() também pode ser chamada usando o comando USE (em sua sintaxe completa) 

Sintaxe

DBUseArea( [ lNewArea ], [ cDriver ], < cFile >, < cAlias >, [ lShared ], [ lReadOnly ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

lNewArea

lógico

Caso verdadeiro, indica que a tabela deve ser aberta em uma nova workarea (Default=.F.)



cDriver

caractere

Informa o Driver (RDD) a ser utilizada para a abertura da tabela. Caso não especificado (NIL), será usado o driver default de acesso a arquivos locais.



cFile

caractere

Nome da arquivo/tabela a ser aberta. Caso o driver utilizado acesse tabelas no sistema de arquivos, deve ser informado um path no servidor de aplicação. Não é possível abrir tabelas de dados no SmartClient.

X


cAlias

caractere

Nome dado ao ALIAS desta tabela, para ser referenciado no programa Advpl.

X


lShared

lógico

Caso verdadeiro, indica que a tabela deve ser aberta em modo compartilhado, isto é, outros processos também poderão abrir esta tabela.



lReadOnly

lógico

Caso verdadeiro, indica que este alias será usado apenas para leitura de dados. Caso contrário, estas operações serão permitidas.



Retorno

Nome

Tipo

Descrição

uRet

nil

Retorno sempre é nulo.

Observações

  • lNewArea - Caso o parâmetro seja .F. ou não especificado (NIL), a tabela será aberta na workarea atual, Caso já exista uma tabela aberta na WorkArea atual, a mesma é fechada.
  • cDriver - Verifique a lista de drivers (RDDs) disponíveis na documentação da função DBCreate, e maiores informações sobre os drivers no documento Drivers e RDDs
  • cFile - Quando utilizada a RDD "TOPCONN", caso seja desejada a abertura de uma Query no SGDB, devemos passar como 3o parâmetro o retorno da função TcGenQry(), onde informamos a string contendo a Query como terceiro parâmetro da função TcGenQry()
  • cAlias - Em um mesmo processo, duas tabelas não podem ser abertas sob o mesmo ALIAS. Porém, a mesma tabela pode ser aberta mais de uma vez com um ALIAS diferente.
  • lShared - Uma tabela aberta em modo exclusivo por um processo não consegue ser aberta em modo algum por nenhum outro processo, A abertura em modo compartilhado pode falhar caso exista algum processo com a tabela aberta em modo exclusivo
  • lReadOnly - Um alias aberto em modo de leitura não permite operações de inclusão, alteração ou exclusão de dados.

Exemplos

FUNCTION Example()
  Local cT1 := "T1"
  
  TCLink()
  
  DBCreate("T1", {{"FIELD_NAME", "C", 10, 0}, ;
                  {"FIELD_TYPE", "C", 10, 0}}, "TOPCONN")
                  
  DBUseArea(.F., 'TOPCONN', cT1, (cT1), .F., .T.)

  if Alias() == cT1
    conout("current workarea: " + cT1)
  endif
  
  // TODO: something
  
  DBCloseArea()
  
  TCUnlink()
RETURN

Veja também

  • Sem rótulos