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