Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
No Power Apps, a maioria das aplicações de tela utiliza informações externas armazenadas em serviços Cloud denominados Origens de Dados. Um exemplo comum é uma tabela num ficheiro do Excel armazenado no OneDrive. As aplicações acedem a estas origens de dados através de Ligações.
Este artigo descreve os diferentes tipos de origens de dados e como trabalhar com origens de dados de tabelas.
É fácil criar uma aplicação que faça a leitura e escrita básicas numa origem de dados. Mas, por vezes, quer ter mais controlo sobre a forma como os dados entram e saem da sua aplicação. Este artigo descreve como as funções Patch, DataSourceInfo, Validar e Erros oferecem mais controlo.
Variantes de origens de dados
As origens de dados podem ser ligadas a um serviço cloud ou podem ser locais em relação a uma aplicação.
Origens de dados ligadas
As origens de dados mais comuns são as tabelas, que pode utilizar para obter e armazenar informações. Pode utilizar ligações a origens de dados para ler e escrever dados em livros do Microsoft Excel, listas criadas utilizando Listas Microsoft, bibliotecas do SharePoint, tabelas SQL e muitos outros formatos, que podem ser armazenados nos serviços cloud, como o OneDrive, o DropBox e o SQL Server.
As origens de dados para além de tabelas incluem e-mail, calendários, Twitter e notificações, mas este artigo não aborda estes outros tipos de origens de dados.
Origens de dados locais
Com os controlos Galeria, Mostrar formulário e Editar formulário, pode criar uma aplicação que lê e escreve dados de uma origem de dados. Para começar, consulte Compreender formulários de dados.
Quando pedir ao Power Apps para criar uma aplicação a partir de dados, estes controlos são utilizados. Nos bastidores, a aplicação utiliza uma tabela interna para armazenar e manipular os dados provenientes da origem de dados.
Um tipo especial de origem de dados é a Coleção, que é local à aplicação e não é apoiada por uma ligação para um serviço na nuvem. Portanto, as informações não podem ser partilhadas entre dispositivos para o mesmo utilizador ou entre utilizadores. As coleções podem ser carregadas e guardadas localmente.
Variantes de tabelas
As tabelas que são internas em relação a uma aplicação são valores fixos, da mesma forma que um número ou uma cadeia é um valor. As tabelas internas não são armazenadas em nenhum lugar, mas existem na memória da sua aplicação. Não é possível modificar diretamente a estrutura e os dados de uma tabela. O que pode fazer em alternativa é criar uma nova tabela através de uma fórmula: essa fórmula é utilizada para fazer uma cópia modificada da tabela original.
As tabelas externas são armazenadas numa origem de dados para posterior obtenção e partilha. O Power Apps fornece "ligações" para ler e escrever dados armazenados. Numa ligação, pode aceder a várias tabelas de informações. Pode selecionar as tabelas a utilizar na sua aplicação e cada uma delas torna-se numa origem de dados separada.
Para mais informações, consulte Trabalhar com tabelas sobre tabelas internas, mas também tabelas externas que residem num serviço de cloud.
Trabalhar com tabelas
Pode utilizar as origens de dados de tabelas da mesma forma que utiliza uma tabela interna do Power Apps. Tal como uma tabela interna, cada origem de dados tem registos, colunas e propriedades que pode utilizar em fórmulas. Além disso:
A origem de dados tem os mesmos nomes de colunas e tipos de dados que a tabela subjacente na ligação.
Nota
Para origens de dados do SharePoint e do Excel que contenham nomes de colunas com espaços, o Power Apps substitui-os por "_x0020_". Por exemplo, o "Nome da Coluna" no SharePoint ou no Excel aparece como "Column_x0020_Name" no Power Apps, quando apresentado no esquema de dados ou utilizado uma fórmula.
A origem de dados é carregada automaticamente a partir do serviço quando a aplicação é carregada. Pode forçar a atualização dos dados através da função Atualizar.
À medida que os utilizadores executam uma aplicação, podem criar, modificar e eliminar registos e enviar novamente por push essas alterações para a tabela subjacente no serviço.
As funções DataSourceInfo, Predefinições e Validar fornecem informações sobre a origem de dados que pode utilizar para otimizar a experiência de utilizador.
Criar origens de dados
O Power Apps não pode ser utilizado para criar uma origem de dados ligada ou modificar a respetiva estrutura; a origem de dados já tem de existir num serviço algures. Por exemplo, para criar uma tabela num livro do Excel armazenado no OneDrive, primeiro utiliza o Excel Online no OneDrive para criar um livro. Em seguida, cria uma ligação para o mesmo a partir da sua aplicação.
No entanto, as origens de dados de coleção podem ser criadas e modificadas dentro de uma aplicação, mas são apenas temporárias.
Apresentar um ou mais registos
Este diagrama mostra o fluxo de informações quando uma aplicação lê as informações de uma origem de dados:
- As informações são armazenadas e partilhadas através de um serviço de armazenamento (neste caso, Listas Microsoft ou SharePoint Online).
- Uma ligação disponibiliza estas informações para a aplicação. A aplicação trata da autenticação do utilizador para aceder às informações.
- Quando a aplicação é iniciada ou a função Atualizar é premida, as informações são retiradas da ligação para uma origem de dados na aplicação para utilização local.
- As fórmulas são utilizadas para ler as informações e expô-las em controlos que o utilizador pode ver. Para visualizar os registos de uma origem de dados, pode utilizar uma galeria num ecrã e ligar a propriedade Itens à origem de dados: Galeria.Items = DataSource. Para ligar controlos na galeria à galeria, utilize a propriedade Predefinição dos controlos.
- A origem de dados também é uma tabela. Por isso, pode utilizar Filtrar, Ordenar, AddColumns e outras funções para refinar e aumentar a origem de dados antes de utilizá-la como um todo. Também pode utilizar Pesquisar, Primeiro, Último e outras funções para trabalhar com registos individuais.
Modificar um registo
As setas no diagrama anterior são unidirecionais. As alterações a uma origem de dados não são novamente enviadas por push através das mesmas fórmulas com as quais os dados foram obtidos. Em vez disso, são utilizadas novas fórmulas. Muitas vezes, o ecrã utilizado para editar um registo é diferente do ecrã utilizado para procurar registos, sobretudo num dispositivo móvel.
Para modificar um registo existente de uma origem de dados, o registo tem de ter vindo originalmente da origem de dados. O registo poderá ser apresentado numa galeria, numa variável de contexto e em qualquer número de fórmulas, mas deve ser possível identificar a sua origem até à origem de dados. As informações adicionais viajam com o registo que as identifica exclusivamente, garantindo que modifica o registo correto.
Este diagrama mostra o fluxo de informações para atualizar uma origem de dados:
- Um controlo Editar formulário fornece um recipiente para cartões de entrada, que são constituídos por controlos de introdução pelo utilizador, tais como um controlo de introdução de texto ou um controlo de deslize. As propriedades DataSource e Item são utilizadas para identificar o registo a editar.
- Cada cartão de entrada tem uma propriedade Predefinição, que é definida para o campo do registo ThisItem do formulário. Em seguida, os controlos no cartão de entrada recebem os respetivos valores de entrada de Predefinição. Normalmente, não precisa de modificar esta predefinição.
- Cada cartão de entrada expõe uma propriedade Atualizar. Esta propriedade mapeia a entrada do utilizador para um campo específico do registo para efetuar um write back para a origem de dados. Normalmente, não precisa de modificar esta propriedade.
- Um botão ou um controlo Imagem no ecrã permite ao utilizador guardar as alterações ao registo. A fórmula OnSelect do controlo chama a função SubmitForm para fazer este trabalho. SubmitForm lê todas as propriedades Atualizar dos cartões e utiliza-as para escrever de volta para a origem de dados.
- Por vezes, ocorrem problemas. Uma ligação de rede poderá estar inativa ou uma verificação de validação é executada pelo serviço da qual a aplicação não tem conhecimento. As propriedades Erro e ErrorKind do controlo de formulário disponibilizam estas informações, para que possa apresentá-las ao utilizador.
Para ter um controlo mais otimizado sobre o processo, também pode utilizar a função Patch e Erros. O controlo Editar formulário expõe uma propriedade Atualizações, para que o utilizador possa ler os valores dos campos no formulário. Também pode utilizar esta propriedade para chamar um conector personalizado numa ligação, ignorando completamente as funções Patch e SubmitForm.
Validação
Antes de fazer uma alteração a um registo, a aplicação deve fazer o possível por garantir que a alteração é aceitável. Existem duas razões para verificar:
- Comentários imediatos para o utilizador. A melhor altura para corrigir um problema é exatamente quando acontece, quando ainda está fresco na mente do utilizador. Literalmente, com cada toque ou batimento de tecla, pode aparecer texto a vermelho que identifica um problema na sua entrada.
- Menos tráfego de rede e menor latência de utilizador. Mais problemas detetados na aplicação significa menos conversas pela rede para detetar e resolver problemas. Cada conversa demora tempo durante o qual o utilizador terá de aguardar antes de poder avançar.
O Power Apps oferece duas ferramentas para validação:
- A origem de dados pode fornecer informações sobre o que é e não é válido. Por exemplo, os números podem ter valores mínimos e máximos e pode ser necessário uma ou mais entradas. Pode aceder a estas informações com a função DataSourceInfo.
- A função Validar utiliza estas mesmas informações para verificar o valor de uma única coluna ou de um registo completo.
Processamento de erros
Agora que validou o seu registo, atualize esse registo com Patch.
Mas ainda poderá haver um problema. A rede está inativa, a validação do serviço falhou ou o utilizador não tem as permissões corretas, apenas para citar alguns dos possíveis erros com que a aplicação se poderá deparar. A sua aplicação tem de responder adequadamente a situações de erro, fornecendo comentários ao utilizador e uma forma de corrigir a situação.
Quando ocorrem erros relacionados com uma origem de dados, a aplicação regista automaticamente a informação de erro e disponibiliza-a através da função Erros. Os erros são associados aos registos que tiveram os problemas. Se o problema for algo que o utilizador possa corrigir, tal como um problema de validação, o utilizador pode voltar a submeter o registo e os erros são limpos.
Se ocorrer um erro quando um registo for criado com a função Patch ou Colecionar, não existe qualquer registo ao qual associar erros. Neste caso, a função Patch devolve em branco e poderá ser utilizado como o argumento do registo para Erros. Os erros de criação são limpos com a operação seguinte.
A função Erros devolve uma tabela de informações de erro. Estas informações podem incluir as informações de coluna, caso o erro possa ser atribuído a uma coluna específica. Utilize mensagens de erro ao nível da coluna em controlos de etiqueta que estão próximos do local onde a coluna se encontra no ecrã de edição. Utilize mensagens de erro ao nível do registo onde a Coluna na tabela de erros está em branco, numa localização próxima do botão Guardar para o registo completo.
Trabalhar com origens de dados de grande dimensão
Quando criar relatórios a partir de origens de dados de grande dimensão (talvez milhões de registos), quer minimizar o tráfego de rede. Digamos que pretende apresentar um relatório sobre todos os Clientes que têm o StatusCodePlatinum na cidade de Nova Iorque. A sua tabela de Clientes contém milhões de registos.
Não quer introduzir esses milhões de clientes na sua aplicação e, em seguida, escolher aqueles que quer. A escolha deve acontecer dentro do serviço cloud onde a tabela está armazenada, onde envia os registos que escolheu pela rede.
Muitas das funções, mas não todas, que pode utilizar para escolher registos podem ser delegadas, o que significa que são executadas dentro do serviço cloud. Obtenha mais informações na Delegação.
Collections
As coleções são um tipo especial de origem de dados. São locais à aplicação e não são apoiados por um ligação a para um serviço na nuvem. Portanto, as informações não podem ser partilhadas entre dispositivos para o mesmo utilizador ou entre utilizadores.
As coleções funcionam como qualquer outra origem de dados, com algumas exceções:
- As coleções podem ser criadas dinamicamente com a função Colecionar. Não precisam de ser estabelecidas com antecedência, tal como acontece com as origens de dados baseadas em ligação.
- As colunas de uma coleção podem ser modificadas em qualquer altura com a função Colecionar.
- As coleções permitem registos duplicados. Pode existir mais de uma cópia do mesmo registo numa coleção. As funções, como Remover, funcionam na primeira correspondência que encontrarem, a menos que o argumento Tudo seja fornecido.
- Pode utilizar as funções SaveData e LoadData para guardar e recarregar uma cópia da coleção. As informações são armazenadas numa localização privada à qual outros utilizadores, aplicações ou dispositivos não podem aceder.
- Pode utilizar os controlos Exportar e Importar para guardar e recarregar uma cópia da coleção para um ficheiro com o qual o utilizador pode interagir.
Para obter mais informações sobre como trabalhar com uma coleção como uma origem de dados, veja criar e atualizar uma coleção.
As coleções são frequentemente utilizadas para armazenar o estado global para a aplicação. Veja Trabalhar com variáveis para obter as opções disponíveis para gerir o estado.