Este artigo foi totalmente inspirado no vídeo acima, trazendo uma explicação prática e detalhada para você absorver ainda mais o conteúdo em Power Apps.
Introdução: o desafio do patch em múltiplas fontes de dados
Quem já trabalhou com Power Apps sabe que integrar informações entre tabelas diferentes pode ser mais complicada do que parece — principalmente quando o objetivo é inserir dados simultâneos em várias fontes de dados, como no caso das tabelas “tb usuário” e “tb usuário 2”. Eu mesmo passei apuros nas minhas primeiras tentativas. Sentia que faltava algo para conectar tudo de forma segura e fluida. A verdade é: não existe um comando nativo para salvar os mesmos dados em duas fontes de uma vez só.Mas existe saída. E é sobre isso que conversaremos de forma bem prática.
Salvar dados em múltiplas tabelas exige estratégia.
Criando as tabelas para o cenário
Imagine que você precisa registrar usuários numa aplicação de cadastro. Para testar o patch em múltiplas fontes de dados, começamos com duas tabelas estruturalmente idênticas:
- tb usuário – contém colunas como Nome, Email, Telefone…
- tb usuário 2 – mesma estrutura, apenas um nome diferente.
O motivo é simples. Quando fazemos testes ou migramos dados, ter tabelas semelhantes permite trabalhar com menos erros e mais clareza. Recomendo sempre, inclusive nos treinamentos do projeto Power, começar padronizando nomes e tipos de campo. Isso evita dores de cabeça futuras.
Criando a tela de cadastro no Power Apps
O próximo passo é montar a interface no Power Apps. Aqui, o objetivo é uma tela simples onde os campos são preenchidos (por exemplo, nome, telefone, email) e, ao clicar em “Salvar”, os dados são enviados às tabelas.
No Power Apps Canvas:
- Crie uma tela chamada CadastroUser.
- Adicione TextInputs para cada campo (Nome, Email, Telefone etc.).
- Inclua um botão Salvar para disparar a gravação nas tabelas.
Me lembro de um cliente que achava que era só colocar o comando Patch() em cada tabela e pronto. Mas não é só isso.
O comando Patch não aceita aplicar em múltiplas fontes de uma só vez.
O problema do patch simultâneo: a limitação do Power Apps
À primeira vista, pode parecer lógico tentar executar o Patch diretamente em várias tabelas. Algo como:
Patch(tb usuário, Defaults(tb usuário), {Nome: txtNome.Text, Email: txtEmail.Text});Patch(tb usuário 2, Defaults(tb usuário 2), {Nome: txtNome.Text, Email: txtEmail.Text});
Mas existe um detalhe importante: Os dados gerados pela primeira tabela não são automaticamente recuperados para usar nas próximas operações. Se suas tabelas possuem relacionamentos (como IDs únicos ou campos obrigatórios), você vai precisar capturar o registro criado no primeiro Patch, e usar esse registro para o Patch das outras tabelas.
Portanto, a ordem dos patches e o armazenamento do retorno são fundamentais.
Como capturar o registro criado no Patch
Quando você executa o comando Patch, ele retorna o registro inserido. Isso significa que é possível armazenar esse retorno numa variável, aproveitando dados como o ID recém-criado. Veja um exemplo real, adaptado de situações do projeto Power:
Set(varUsuario, Patch(tb usuário, Defaults(tb usuário), { Nome: txtNome.Text, Email: txtEmail.Text, Telefone: txtTelefone.Text } ));
Aqui, “varUsuario” guarda todo o registro do usuário recém-cadastrado — inclusive o seu ID, se existir.
O segredo está em reaproveitar o registro retornado.
Salvando em múltiplas tabelas com os dados capturados
Vamos supor que, depois de salvar o usuário em “tb usuário”, você quer repetir o processo na “tb usuário 2”. Agora você tem os dados em “varUsuario”, podendo reutilizá-los para garantir consistência:
Patch(tb usuário 2, Defaults(tb usuário 2), { Nome: varUsuario.Nome, Email: varUsuario.Email, Telefone: varUsuario.Telefone });
Além disso, digamos que você queira criar um registro automático na tabela “tb compromisso” para esse usuário. A lógica fica assim:
Patch(tb compromisso, Defaults(tb compromisso), { UsuarioID: varUsuario.ID, Descricao: "Compromisso inicial", Data: Now() });
Deste jeito, se houver campos obrigatórios dependentes do usuário, como um compromisso, fica tudo conectado de modo prático.
Validações de erro e dados dispensáveis
Muitas vezes, não basta apenas salvar. É preciso garantir que os dados estão corretos, e que nada desnecessário será carregado. Antes de rodar o Patch, implementei algumas verificações básicas — algo, aliás, muito reforçado em nossas consultorias e cursos do projeto Power:
- Confirme se todos os campos obrigatórios estão preenchidos.
- Faça pequenas validações no código, como condicionar a execução: If(!IsBlank(txtNome.Text), …).
- Cuidado para não tentar inserir campos desnecessários nas outras tabelas. Filtre aquilo que realmente será usado no Patch.
Aliás, em tabelas secundárias (“tb usuário 2”, por exemplo), se existirem campos que não fazem sentido para essas operações, remova-os ou simplesmente não preencha via código. Isso ajuda a prevenir mensagens de erro e travamentos chatos no meio da operação.
Dados desnecessários só atrapalham seu fluxo de inserção.
Revisando o fluxo lógico do código
Para ficar ainda mais claro, vamos recapitular o fluxo ideal para gravar simultaneamente em diferentes tabelas:
- O usuário preenche o formulário no app e clica em salvar.
- Você executa um Patch na primeira tabela (“tb usuário”) e armazena o retorno em uma variável.
- Logo depois, realiza Patch nas outras tabelas (“tb usuário 2”, “tb compromisso”), alimentando os campos com dados vindos da variável.
- Realize validações e, em caso de sucesso, exiba uma mensagem ou navegue para outra tela.
- Se houver erro, trate-o de imediato — nem sempre a culpa é do app, muitas vezes é um detalhe do modelo de dados.
Isso vai além de código: prática e comunidade
Você vai perceber que, ao aplicar esse conhecimento, muitos dos problemas do dia a dia simplesmente desaparecem. Não é sorte. É prática. E quem já participou dos treinamentos do projeto Power sabe como a mão na massa faz a diferença real. Ver outras pessoas tentando, errando, acertando… tudo isso acelera demais seu aprendizado.
A teoria explica. A prática transforma.
Troque experiências, questione soluções, compartilhe erros e acertos. Faz parte do processo.
Conclusão: seu próximo passo no Power Apps
Fazer Patch em múltiplas fontes de dados não é impossível — só exige atenção, lógica e, talvez, um pouco de persistência. Siga a sequência apresentada aqui, adapte aos seus projetos e observe como tudo começa a se encaixar. Se quiser acelerar sua curva de aprendizado, entender mais dicas como essa, ou transformar sua equipe em referência, procure os conteúdos, treinamentos e consultorias que o projeto Power oferece. O próximo passo depende apenas de você.Venha aprender conosco e transformar seus processos!