Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In Power Apps maken de meeste canvas-apps gebruik van externe informatie die is opgeslagen in cloudservices. Dit worden gegevensbronnen genoemd. Een veel voorkomend voorbeeld is een tabel in een Excel-bestand opgeslagen in OneDrive. Apps krijgen toegang tot deze gegevensbronnen via Verbindingen.
In dit artikel worden de verschillende soorten gegevensbronnen besproken en wordt beschreven hoe u tabelgegevensbronnen gebruikt.
Het is gemakkelijk om een app te maken die eenvoudige lees- en schrijfopdrachten voor een gegevensbron kan uitvoeren. Maar soms wilt u meer controle over hoe gegevens in en uit uw app stromen. In dit artikel wordt beschreven hoe de functies Patch, DataSourceInfo, Validate en Errors u meer controle bieden.
Soorten gegevensbronnen
Gegevensbronnen kunnen worden verbonden met een cloudservice of lokaal in een app staan.
Verbonden gegevensbronnen
De meestvoorkomende gegevensbronnen zijn tabellen, die u kunt gebruiken om informatie op te halen en op te slaan. U kunt verbindingen met gegevensbronnen gebruiken om gegevens te lezen en schrijven in Microsoft Excel-werkmappen, lijsten die gemaakt zijn met Microsoft Lists, SharePoint-bibliotheken, SQL-tabellen en nog veel meer. U kunt de gegevens vervolgens opslaan in cloudservices zoals OneDrive, DropBox en SQL Server.
Voorbeelden van andere gegevensbronnen zijn e-mail, agenda's, Twitter en meldingen. Deze gegevensbronnen worden hier echter niet behandeld.
Lokale gegevensbronnen
Met de besturingselementen Galerij, Formulier weergeven en Formulier bewerken kunt u een app maken die gegevens leest uit en schrijft naar een gegevensbron. Zie Gegevensformulieren begrijpen om aan de slag te gaan.
Als u Power Apps vraagt een app van gegevens te maken, worden deze besturingselementen gebruikt. Achter de schermen maakt de app gebruik van een interne tabel voor het opslaan en manipuleren van de gegevens die afkomstig zijn uit de gegevensbron.
Een speciaal type gegevensbron is de Verzameling. Deze is lokaal voor de app en wordt niet ondersteund door een verbinding met een service in de cloud. Daarom kan de informatie niet worden gedeeld tussen verschillende apparaten van dezelfde gebruiker of tussen gebruikers. Verzamelingen kunnen worden geladen en lokaal opgeslagen.
Soorten tabellen
Tabellen die intern in een app staan, zijn vaste waarden, net zoals een getal of een tekenreeks een waarde is. Interne tabellen worden niet overal opgeslagen maar zijn aanwezig in het geheugen van uw app. U kunt de structuur en gegevens van een tabel niet rechtstreeks wijzigen. U kunt in plaats daarvan een nieuwe tabel maken via een formule: u gebruikt die formule om een aangepaste kopie van de oorspronkelijke tabel te maken.
Externe tabellen worden opgeslagen in een gegevensbron om later op te halen en te delen. Power Apps bevat "verbindingen" om opgeslagen gegevens te lezen en te schrijven. Binnen een verbinding kunt u meerdere tabellen met gegevens openen. U kunt selecteren welke tabellen u wilt gebruiken in uw app en elke tabel wordt een afzonderlijke gegevensbron.
Zie voor meer informatie Werken met tabellen waarin interne tabellen worden behandeld, maar ook externe tabellen die zich in een cloudservice bevinden.
Werken met tabellen
U kunt gegevensbronnen van tabellen op dezelfde manier gebruiken als u een interne Power Apps-tabel. Net als een interne tabel heeft elke gegevensbron records, kolommen en eigenschappen die u in formules kunt gebruiken. Aanvullend:
De gegevensbron bevat dezelfde kolomnamen en gegevenstypen als de onderliggende tabel in de verbinding.
Notitie
Voor SharePoint- en Excel-gegevensbronnen die kolomnamen met spaties bevatten, worden in Power Apps de spaties vervangen door "_x0020_". "Kolomnaam" wordt in SharePoint of Excel bijvoorbeeld weergegeven als "Column_x0020_Name" in Power Apps wanneer deze in de gegevensindeling wordt weergegeven of in een formule wordt gebruikt.
De gegevensbron wordt automatisch uit de service geladen wanneer de app wordt geladen. U kunt de gegevens geforceerd vernieuwen met behulp van de functie Refresh.
Wanneer gebruikers een app uitvoeren, kunnen zij records maken, wijzigen en verwijderen, en die wijzigingen terugkoppelen naar de onderliggende tabel in de service.
- Records kunnen worden gemaakt met de functies Patch en Collect.
- Records kunnen worden gewijzigd met de functies Patch, Update en UpdateIf.
- Records kunnen worden verwijderd met de functies Remove en RemoveIf.
- Fouten die optreden bij het werken met een gegevensbron zijn beschikbaar via de functie Errors.
De functies DataSourceInfo, Defaults en Validate bevatten informatie over de gegevensbron die u kunt gebruiken voor het optimaliseren van de gebruikerservaring.
Gegevensbronnen maken
Power Apps kan niet worden gebruikt om een verbonden gegevensbron te maken of de structuur te wijzigen. De gegevensbron moet al ergens in een service bestaan. Bijvoorbeeld, voor het maken van een tabel in een Excel-werkmap die is opgeslagen op OneDrive, moet u eerst Excel Online op OneDrive gebruiken om een werkmap te maken. Vervolgens maakt u er een verbinding naartoe vanuit uw app.
Gegevensbronnen voor verzamelingen kunnen echter worden gemaakt en gewijzigd in een app, maar deze gegevensbronnen zijn alleen tijdelijk.
Een of meer records weergeven
In dit diagram wordt de informatiestroom weergegeven wanneer een app de gegevens in een gegevensbron leest:
- De informatie wordt opgeslagen en gedeeld via een opslagservice (in dit geval Microsoft Lijsten of SharePoint Online).
- Via een verbinding wordt deze informatie beschikbaar voor de app. De verbinding zorgt voor verificatie van de gebruiker voor toegang tot de gegevens.
- Wanneer de app wordt gestart of de functie Refresh wordt gebruikt, worden er gegevens opgehaald vanuit de verbinding naar een gegevensbron voor lokaal gebruik in de app.
- Formules worden gebruikt om de informatie te lezen en weer te geven in de besturingselementen die de gebruiker kan zien. U kunt de records van een gegevensbron weergeven met behulp van een galerie op een scherm en de eigenschap Items te verbinden met de gegevensbron: Gallery.Items = DataSource. U kunt besturingselementen binnen de galerie en aan de galerie verbinden met behulp van de eigenschap Default van het besturingselement.
- De gegevensbron is ook een tabel. U kunt dus de functies Filter, Sort, AddColumns en andere functies gebruiken om de gegevensbron te verfijnen en te verbeteren voordat u deze als geheel gebruikt. U kunt ook de functies Lookup, First, Last en andere functies gebruiken om te werken met afzonderlijke records.
Een record wijzigen
De pijlen in het vorige diagram hebben één richting. Wijzigingen aan een gegevensbron worden niet via dezelfde formules tegengehouden waarmee de gegevens zijn opgehaald. In plaats daarvan worden nieuwe formules gebruikt. Vaak wordt een andere scherm gebruikt voor het bewerken van een record dan voor het zoeken naar records, met name op een mobiel apparaat.
Voor het wijzigen van een bestaande record van een gegevensbron, moet de record oorspronkelijk afkomstig zijn uit de gegevensbron. De record kan in een galerie, een contextvariabele en een willekeurig aantal formules worden weergegeven, maar de oorsprong moet kunnen worden teruggeleid naar de gegevensbron. Er wordt extra informatie verzonden met de record die er een unieke identificatie van is, wat ervoor zorgt dat u de juiste record wijzigt.
Dit diagram toont de informatiestroom voor het bijwerken van een gegevensbron:
- Een besturingselement Formulier bewerken biedt een container voor invoerkaarten, die bestaan uit besturingselementen voor gebruikersinvoer, zoals een besturingselement voor tekstinvoer of een schuifregelaar. De eigenschappen DataSource en Item worden gebruikt voor identificatie van de record om deze te kunnen bewerken.
- Elke invoerkaart bevat een eigenschap Default die is ingesteld op het veld van de record ThisItem van het formulier. De besturingselementen in de invoerkaart halen vervolgens de invoerwaarden uit Default. Normaal gesproken hoeft u deze standaardwaarde niet te wijzigen.
- Elk invoerkaart toont een eigenschap Update. Deze eigenschap wijst de invoer van de gebruiker toe aan een bepaald veld van de record voor terugschrijven naar de gegevensbron. Normaal gesproken hoeft u deze eigenschap niet te wijzigen.
- Een knop of een besturingselement image op het scherm stelt de gebruiker in staat om de wijzigingen op te slaan in de record. De formule OnSelect van het besturingselement zorgt ervoor dat de functie SubmitForm dit uitvoert. Met SubmitForm worden alle Update-eigenschappen van de kaarten gelezen en worden deze teruggeschreven naar de gegevensbron.
- Soms zijn er problemen. Een netwerkverbinding is mogelijk niet actief of er wordt door de service een validatiecontrole uitgevoerd waar de app niets van wist. De eigenschappen Error en ErrorKind van het formulierbesturingselement stellen deze informatie beschikbaar zodat u deze aan de gebruiker kunt weergeven.
Voor gedetailleerdere controle over het proces kunt u ook de functies Patch en Errors gebruiken. Het besturingselement Formulier bewerken toont een eigenschap Updates zodat u de waarden van de velden in het formulier kunt lezen. U kunt deze eigenschap ook gebruiken om een aangepaste connector voor een verbinding aan te roepen, waarbij u volledig buiten de functies Patch en SubmitForm om werkt.
Validation
Voordat u een wijziging aanbrengt aan een record, moet de app eerst al het mogelijke doen om ervoor te zorgen dat de wijziging kan worden geaccepteerd. Er zijn twee redenen voor controle:
- Onmiddellijke feedback aan de gebruiker. Het beste moment om een probleem te verhelpen is wanneer het gebeurt, wanneer het nog vers in het geheugen van de gebruiker ligt. Bij letterlijk elke tik of toetsaanslag kan er rode tekst worden weergegeven die een probleem identificeert met de plaatsing.
- Minder netwerkverkeer en minder gebruikerslatentie. Meer problemen gedetecteerd in de app betekent minder conversaties via het netwerk voor het detecteren en oplossen van problemen. Elke conversatie kost tijd waarin de gebruiker moet wachten voordat hij verder kan.
Power Apps biedt twee hulpprogramma's voor validatie:
- De gegevensbron kunt informatie bieden over wat wel en niet geldig is. Getallen kunnen bijvoorbeeld minimale en maximale waarden hebben en er kunnen een of meer vermeldingen zijn vereist. U kunt toegang krijgen tot deze gegevens met de functie DataSourceInfo.
- De functie Validate maakt gebruikt van deze informatie om de waarde van één kolom of een hele record te controleren.
Foutafhandeling
Nu u uw record hebt gevalideerd, kunt u deze bijwerken met Patch.
Maar er kan nog steeds een probleem zijn. Het netwerk is niet beschikbaar, validatie van de service is mislukt, of de gebruiker heeft niet de juiste machtigingen: een aantal mogelijke fouten die uw app kan tegenkomen. Uw app moet op de juiste wijze op situaties reageren, feedback geven aan de gebruiker en de mogelijkheid geven om het op te lossen.
Wanneer er fouten optreden met een gegevensbron, registreert uw app automatisch de gegevens van de fout en maakt deze beschikbaar via de functie Errors. Fouten worden gekoppeld aan de records waarbij problemen zijn opgetreden. Als het probleem iets is dat kan worden opgelost door de gebruiker, zoals een validatieprobleem, kan de gebruiker de record opnieuw verzenden en worden de fouten gewist.
Als er een fout optreedt bij het maken van een record met Patch of Collect is er geen record waarmee fouten kunnen worden gekoppeld. In dit geval wordt leeg geretourneerd door Patch en kan dit worden gebruikt als het recordargument voor Errors. Fouten bij het maken worden met de volgende bewerking gewist.
De functie Errors retourneert een tabel met gegevens van de fout. Deze informatie kan bestaan uit de kolomgegevens indien de fout kan worden toegekend aan een bepaalde kolom. Gebruik foutberichten op kolomniveau in labelbesturingselementen die zich bevinden vlak bij waar de kolom zich op het scherm Bewerken bevindt. Gebruik foutberichten op record-niveau waar de Kolom in de fouttabel leeg is, en zich op een locatie dicht bij de knop Opslaan voor de hele record bevindt.
Werken met grote gegevensbronnen
Wanneer u rapporten maakt van grote hoeveelheden gegevensbronnen (wel miljoenen records), dan wilt u netwerkverkeer zoveel mogelijk minimaliseren. Stel dat u wilt rapporteren over alle Klanten die een StatusCode van Platina hebben in de stad New York. Uw tabel Klanten bevat miljoenen records.
U wilt die miljoenen klanten zeker niet in uw app laden en vervolgens kiezen welke u wilt. De keuze moet worden gemaakt in de cloudservice waar de tabel wordt opgeslagen waarin u de gekozen records via het netwerk verzendt.
U kunt veel, maar niet alle, functies die u kunt gebruiken voor het kiezen van records delegeren. Dit betekent dat deze worden uitgevoerd in de cloudservice. Meer informatie vindt u in Delegatie.
Verzamelingen
Verzamelingen zijn een speciaal soort gegevensbron. Ze zijn lokaal voor de app en zijn niet verbonden met een service in de cloud. Daarom kan de informatie niet worden gedeeld tussen verschillende apparaten van dezelfde gebruiker of tussen gebruikers.
Verzamelingen werken net als elke andere gegevensbron, met enkele uitzonderingen:
- Verzamelingen kunnen dynamisch worden gemaakt met de functie Collect. Deze hoeven niet van te voren tot stand te worden gebracht op de manier zoals bij gegevensbronnen op basis van een verbinding.
- De kolommen van een verzameling kunnen op elk moment worden gewijzigd met behulp van de functie Collect.
- Verzamelingen staan het bestaan van dubbele records toe. Er kan meer dan één exemplaar van dezelfde record bestaan in een verzameling. Functies zoals Remove worden uitgevoerd op de eerste overeenkomst die wordt gevonden, tenzij het argument Alle wordt opgegeven.
- U kunt de functies SaveData en LoadData gebruiken om een kopie van de verzameling op te slaan en opnieuw te laden. De informatie wordt opgeslagen op een persoonlijke locatie die niet toegankelijk is voor andere gebruikers, apps of apparaten.
- U kunt de besturingselementen Exporteren en Importeren gebruiken om een kopie van de verzameling naar een bestand waarmee de gebruiker kan communiceren op te slaan en opnieuw te laden.
Zie voor meer informatie over werken met een verzameling als een gegevensbron Een verzameling maken en bijwerken.
Verzamelingen worden vaak gebruikt voor het opslaan van de algemene status van de app. Zie Werken met variabelen voor de opties die beschikbaar zijn voor het beheren van de status.