Árvore de páginas

Define a área de trabalho especificada como ativa.

Sintaxe

DBSelectArea( < xArea > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

xArea

qualquer

Indica a área de trabalho que ficará ativa.

X

 

Observações

  • xArea pode ser do tipo numérico, indicando o número da área de trabalho, ou do tipo caractere, indicando o alias de uma área de trabalho.
  • Após a seleção de uma área de trabalho, todas as operações subsequentes serão realizadas nesta área de trabalho, a menos que outra área seja informada ou que se utilize alias para se referenciar a outra área de trabalho.
  • Se xArea contiver uma string com uma alias que não foi aberto, o programa será encerrado com ocorrência de erro recuperável "Alias does not exist: AAA", onde AAA indica o alias informado.
  • Se xArea contiver um número menor ou igual a 0 (zero) ou for maior que o número de áreas de trabalho informado pela chave "MaxWorkAreas" da seção do ambiente no arquivo ini do AppServer, o programa será encerrado com ocorrência de erro recuperável "Work area does not exist".
  • Se for informado em xArea um número de área de trabalho válido, mas não aberto, ou uma string com um alias inexistente, ou o valor nulo (Nil), a área de trabalho atual será desativada.
  • Cada área de trabalho corresponde às informações de um único alias.

Exemplos

O exemplo abaixo utiliza a RDD "TOPCONN", mas a função pode ser utilizada com qualquer uma das RDDs válidas.

user function test1()
  Local nHandle1 := TCLink( "MSSQL/DSN1", "127.0.0.1", 7890 )
  Local cTable1 := "MYTABLE1"
  Local cTable2 := "MYTABLE2"
  Local cRDD := "TOPCONN"
  
  // Cria a tabela
  DBCreate( cTable1, { { "CPOC", "C", 10, 0 } }, cRDD )
  
  DBCreate( cTable2, { { "CPOC", "C", 10, 0 } }, cRDD )
  
  // Abre a tabela 1 em modo exclusivo para leitura criando uma área de trabalho
  DBUseArea( .T., cRDD, cTable1, (cTable1), .F., .T. )
  
  // Abre a tabela 2 em modo exclusivo para leitura criando uma área de trabalho
  DBUseArea( .T., cRDD, cTable2, (cTable2), .F., .T. )
  
  // Inclui um registro na tabela 2, sem especificar o alias, usando o atual
  DBAppend( .F. )
  CPOC := "AA"
  DBCommit()
  
  // Seleciona a tabela 1
  DBSelectArea( cTable1 )

  // Inclui um registro na tabela 1, sem especificar o alias, usando o atual
  DBAppend( .F. )
  CPOC := "BB"
  DBCommit()

  // Inclui um registro na tabela 2, passando o alias da tabela 2
  (cTable2)->( DBAppend( .F. ) )
  (cTable2)->CPOC := "CC"
  (cTable2)->( DBCommit() )
  
  // Fecha todas as áreas de trabalho
  DBCloseAll()
  
  // Apaga a tabela 1
  TCDelFile( cTable1 )
  
  // Apaga a tabela 2
  TCDelFile( cTable2 )
  
  // Desconecta
  TCUnlink( nHandle1 )
return

Veja também

  • Sem rótulos