Saistīt un Atsaistīt funkcijas

Attiecas uz: Pamatnes programmām Modeļa vadītas programmas

Divu tabulu ierakstus saistiet un atsaistiet, izmantojot attiecības viens pret daudziem vai daudzi pret daudziem.

Apraksts

Relate saista divus ierakstus, izmantojot relāciju viens pret daudziem vai daudzi pret daudziem pakalpojumā Microsoft Dataverse. Unrelate funkcija atgriež procesu un noņem saiti.

Attiecībās viens pret daudziem Daudzi tabulā ir svarīgais lauks, kas norāda uz ierakstu no vienas tabulas. Saistiet šī lauka kopas, lai norādītu uz konkrētu vienas tabulas ierakstu, bet Atsaistiet iestata šo lauku kā tukšu. Ja lauks jau ir iestatīts, kad tiek izsaukta Atsaistīšana, esošā saite tiek zaudēta par labu jaunajai. Šo lauku var iestatīt arī, izmantojot Patch funkciju vai Edit form vadīklu; nav jāizmanto Relate funkcija.

Attiecībām daudzi pret daudziem sistēma, kas saista ierakstus, saglabā slēptu kopējo tabulu. Jūs nevarat piekļūt šai tabulai tieši; to var lasīt vienīgi ar viens pret daudziem projekciju un iestatīt, izmantojot funkcijas Relate un Unrelate. Nevienai saistītai tabulai nav sveša atslēga.

Pirmajā argumentā norādītie tabulas dati tiks atsvaidzināti, lai atspoguļotu izmaiņas, taču otrajā argumentā norādījumās tabulas dati netiks. Šos datus ir jāatsvaidzina manuāli, izmantojot Refresh funkciju, lai parādītu operācijas rezultātu.

Šīs funkcijas nekad neveido un nedzēš ierakstu. Tās vienīgi saista vai atsaista divus jau esošus ierakstus.

Varat šīs funkcijas izmantot vienīgi uzvedības formulās.

Note

Šīs funkcijas ir daļa no priekšskatījuma līdzekļa, un to uzvedība ir pieejama vienīgi tad, ja ir iespējots līdzeklis Relāciju dati, opciju kopas un citi jauni CDS līdzekļi. Tas ir programmas līmeņa iestatījums, kas pēc noklusējuma ir iespējots jaunām programmām. Lai atrastu šo līdzekļa slēdzi, atlasiet Iestatījumi un pēc tam atlasiet Gaidāmie līdzekļi. Jūsu atsauksmes mums ir ļoti vērtīgas, tāpēc, lūdzu, sniedziet mums savu viedokli Power Apps kopienas forumos.

Sintakse

Saistīt( Table1RelatedTable, Table2Record )

  • Table1RelatedTable — obligāts. Table1 ierakstam — Table2 tabulas ieraksti, kas saistīti ar attiecībām viens pret daudziem vai daudzi pret daudziem.
  • Table2Record — obligāts. Table2 ieraksts, ko pievienot attiecībām.

Atsaistīt( Table1RelatedTable, Table2Record )

  • Table1RelatedTable — obligāts. Table1 ierakstam — Table2 tabulas ieraksti, kas saistīti ar attiecībām viens pret daudziem vai daudzi pret daudziem.
  • Table2Record — obligāts. Table2 ieraksts, ko noņemt no attiecībām.

Piemēri

Apsveriet Produktu tabulu ar šādām attiecībām, kā redzams Power Apps portāla tabulu skatītājā:

Relāciju rādāmais nosaukums Saistītā tabula Relācijas tips
Preces rezervēšana Rezervācija Viens pret daudziem
Prece ↔ Kontaktpersona Kontaktinformācija Daudzi pret daudziem

Preces un Rezervācijas ir saistītas, izmantojot relāciju viens pret daudziem. Lai tabulas Rezervācijas pirmo ierakstu saistītu ar Produktu tabulas pirmo ierakstu:

Relate( First( Products ).Reservations, First( Reservations ) )

Lai noņemtu relāciju starp šiem ierakstiem:

Unrelate( First( Products ).Reservations, First( Reservations ) )

Nevienā brīdī mēs neveidojām vai nenoņēmām ierakstu, vienīgi tika pārveidota relācija ierakstu starpā.

Preces un Kontaktpersonas ir saistītas, izmantojot relāciju daudzi pret daudziem. Lai tabulas Kontaktpersonas pirmo ierakstu saistītu ar Produktu tabulas pirmo ierakstu:

Relate( First( Products ).Contacts, First( Contacts ) )

Ja relācija daudzi pret daudziem ir simetriska, mēs to varējām arī darīt pretējā virzienā:

Relate( First( Contacts ).Products, First( Products ) )

Lai noņemtu relāciju starp šiem ierakstiem:

Unrelate( First( Products ).Contacts, First( Contacts ) )

vai:

Unrelate( First( Contacts ).Products, First( Products ) )

Tālāk parādītā informācija precīzi norāda, ka šīs operācijas uz šīm tabulām veic, izmantojot lietojumprogrammu ar lodziņu Galerija un lodziņu Kombinētais lodziņš, lai atlasītu iesaistītos ierakstus.

Šie piemēri ir atkarīgi no jūsu vidē instalētajiem parauga datiem. Vai nu izveidojiet izmēģinājuma vidi, tostarp parauga datus, vai pievienojiet parauga datus esošai videi.

Viens pret daudziem

Relate funkcija

Vispirms ir jāizveido vienkārša programma to rezervāciju skatīšanai un atkārtotai piešķiršanai, kuras ir saistītas ar preci.

  1. Izveidojiet planšetdatora programmu no tukšas.

  2. Cilnē Skats atlasiet Datu avoti.

  3. Datu rūtī atlasiet vienumu Pievienot datus> atlasiet Produkti.
    Produktu tabula ir daļa no iepriekš ielādēto datu parauga.

  4. Cilnē Pievienot pievienojiet tukšu vertikālu vadīklu Gallery.

  5. Pārliecinieties, vai tikko pievienotajai vadīklai ir nosaukums Gallery1, un pēc tam to pārvietojiet un mainīt tās izmēru, lai tā aizpildītu ekrāna kreiso pusi.

  6. CIlnē Rekvizīti iestatiet Gallery1rekvizītu Elementi uz Preces un tā Izkārtojumu uz Attēls un nosaukums.

    Konfigurēt ProductsGallery.

  7. Gallery1 pārliecinieties, vai vadīklas Etiķetes nosaukums ir Title1, un pēc tam iestatiet tās rekvizītu Teksts uz ThisItem.Name.

    Konfigurējiet Gallery1 etiķeti.

  8. Atlasiet ekrānu, lai izvairītos no nākamā elementa ievadīšanas Gallery1. Pievienojiet otru tukšu vertikālās Galerijas vadīklu un pārliecinieties, vai tās nosaukums ir Gallery2.

    Gallery2 rādīs rezervācijas jebkurai precei, ko lietotājs atlasa Gallery1.

  9. Pārvietojiet un mainiet Gallery2 izmēru, lai aizpildītu ekrāna augšējo labo kvadrantu.

  10. (neobligāti) Pievienojiet zilo Etiķetes virs Gallery2, kā parādīts nākamajā attēlā.

  11. Formulu joslā iestatiet Gallery2 rekvizītu Elementu uz Gallery1.Selected.Reservations.

    Konfigurējiet Gallery2 elementus.

  12. Rekvizītu rūtī iestatiet Gallery2, Izkārtojumu uz Virsraksts.

    Konfigurējiet Gallery2 izkārtojumu.

  13. Gallery2 pievienojiet Combo Box vadīklu, nodrošiniet, lai tās nosaukums būtu ComboBox1, un pēc tam pārvietojiet to vai mainiet tās izmērus, lai netiktu bloķētas citas Gallery2 vadīklas.

  14. CIlnē Rekvizīti iestatiet ComboBox1, rekvizītu Elementi uz Preces.

    Iestatiet Elementu rekvizītu uz Preces.

  15. Ritiniet uz leju cilni Rekvizīti un iestatiet ComboBox1, rekvizītu Atļaut vairāku atlasi uz Off.

    Iestatīt Atļaut vairāku atlasi uz Off.

  16. Formulu joslā iestatiet ComboBox1, rekvizītu DefaultSelectedItems uz ThisItem.'Product Reservation'.

    Iestatiet DefaultSelectedItems rekvizītam ReserveCombo.

  17. Gallery2 iestatiet NextArrow2, rekvizītu OnSelect uz šo formulu:

    Relate( ComboBox1.Selected.Reservations, ThisItem )
    

    Ja lietotājs atlasa šo ikonu, pašreizējā rezervācija mainās uz preci, ko lietotājs atlasīja ComboBox1.

    Konfigurēt NextArrow2.

  18. Nospiediet F5, lai pārbaudītu programmu Priekšskatījuma režīmā.

Šajā programmā lietotājs var pārvietot rezervāciju no vienas preces uz citu. Attiecībā uz vienas preces rezervāciju lietotājs var atlasīt citu preci ComboBox1 un pēc tam atlasīt NextArrow2, lai mainītu šo rezervāciju.

Saistīšanas funkcijas demonstrēšana viens pret daudziem programmā.

Unrelate funkcija

Šajā brīdī varat pārvietot relācijas no viena ieraksta uz citu, taču nevarat noņemt relācijas kopumā. Lai atsaistītu rezervācijas ierakstu no jebkuras preces, varat izmantot funkciju Unrelate.

  1. Cilnē Skats atlasiet Datu avoti.

  2. Rūtī Dati atlasiet Pievienot datu avotu>Microsoft Dataverse>Rezervācijas>Savienot.

  3. Gallery2 iestatiet NextArrow2 rekvizītu OnSelect uz šo formulu:

    If( IsBlank( ComboBox1.Selected ),
        Unrelate( Gallery1.Selected.Reservations, ThisItem ),
        Relate( ComboBox1.Selected.Reservations, ThisItem )
    );
    Refresh( Reservations )
    

    Labās ikonas konfigurēšana.

  4. Kopējiet Gallery2 starpliktuvē, atlasot to un pēc tam nospiežot taustiņu kombināciju Ctrl-C.

  5. Ielīmējiet Gallery2 dublikātu tajā pašā ekrānā, nospiežot taustiņu kombināciju Ctrl-V, un pēc tam pārvietojiet to uz ekrāna apakšējo labo kvadrantu.

  6. (neobligāti) Ja pievienojāt etiķeti virs Gallery2, šai etiķetei atkārtojiet divas iepriekšējās darbības.

  7. Pārliecinieties, vai Gallery2 dublikāts ir nosaukts Gallery2_1, un pēc tam iestatiet tā rekvizītu Elementi uz šo formulu:

    Filter( Reservations, IsBlank( 'Product Reservation' ) )
    

    Parādās deleģējošais brīdinājums, taču tam nav nozīmēs saistībā ar šī piemēra nelielo datu daudzumu.

    Iestatiet Gallery2_1 Elementu rekvizītu.

Ar šīm izmaiņām lietotāji var notīrīt kontaktpersonu atlasi ComboBox1, ja šī persona nav preci rezervējusi. Kontaktpersonas, kas nav rezervējušas preci, parādās Gallery2_1, kur lietotāji katrai kontaktpersonai var piešķirt preci.

Demonstrēt Saistīšanas un atsaistīšanas funkcijas viens pret daudziem programmā.

Daudzi pret daudziem

Izveidot relāciju daudzi pret daudziem

Datu paraugā nav attiecību daudzi pret daudziem, bet tiek izveidota attiecība starp produktu tabulu un tabulu Kontaktpersonas. Lietotāji var saistīt katru preci ar vairāk nekā vienu kontaktpersonu un katru kontaktpersonu — ar vairāk nekā vienu preci.

  1. Šajā lapā kreisajā navigācijas joslā atlasiet Dati un pēc tam atlasiet Tabulas.

    Atveriet tabulu sarakstu.

  2. Mainiet tabulas filtru, lai iekļautu visas tabulas.

    Pēc noklusējuma netiek rādīti tabulu paraugi.

    Noņemt tabulu filtru.

  3. Ritiniet uz leju, atveriet tabulu Produkts un atlasiet Attiecības.

  4. Atlasiet Pievienot relāciju>Daudzi pret daudziem.

  5. Atlasiet relācijas tabulu Kontaktpersona.

  6. Atlasiet Gatavs>Saglabāt tabulu.

Saistiet un atsaistiet kontaktpersonas ar vienu vai vairākām precēm

Izveidosit citu programmu, kas atgādina to, ko izveidojāt iepriekš šajā tēmā, taču jauna programma piedāvās relāciju daudzi pret daudziem. Katra persona spēs rezervēt vairākas preces, nevis tikai vienu.

  1. Tukšā programmā planšetdatoriem izveidojiet Gallery1, kā aprakstīts šīs tēmas pirmajā procedūrā.

  2. Pievienojiet vēl vienu tukšu vertikālās Galerijas vadīklu, pārliecinieties, vai tās nosaukums ir Gallery2, un pēc tam pārvietojiet to ekrāna augšējā labajā stūrī.

    Tālāk šajā tēmā ir pievienota Kombinētā lodziņa vadīkla sadaļā Gallery2.

  3. Formulu joslā iestatiet Gallery2, rekvizītu Elementi uz Gallery1.Selected.Contacts.

    ContactsGallery konfigurēšana - rekvizīts Elementi.

  4. Cilnē Rekvizīti iestatiet Izkārtojumu uz Attēls un nosaukums.

    ContactsGallery konfigurēšana - izkārtojums.

  5. Gallery2 pārliecinieties, vai vadīklas Etiķetes nosaukums ir Title2, un pēc tam iestatiet tās rekvizītu Teksts uz ThisItem.'Full Name'.

    Šajā vadīklā netiks parādīts teksts, līdz nepabeigsit šo procedūru un nepiešķirsit precei kontaktpersonu.

    Rādīt kontaktpersonas vārdu.

  6. Dzēsiet NextArrow2, ievietojiet Atcelšanas ikonu un pārliecinieties, vai tās nosaukums ir icon1.

  7. Iestatiet Atcelšanas ikonas rekvizītu OnSelect uz šo formulu:

    Unrelate( Gallery1.Selected.Contacts, ThisItem )
    

    Konfigurēšanas atcelšanas ikona.

  8. Cilnē Skats atlasiet Datu avoti.

  9. Rūtī Dati atlasiet Pievienot datu avotu>Microsoft Dataverse>Kontaktpersonas>Savienot.

  10. Sadaļā Gallery2 pievienojiet vadīklu Kombinētais lodziņš nodrošiniet, ka tās nosaukums ir ComboBox1, un pēc tam iestatiet tās rekvizītu Elementi uz Kontaktpersonas.

    Konfigurējiet kombinētā lodziņa rekvizītu Elementi.

  11. Cilnē Rekvizīti iestatiet opciju Atļaut vairāku atlasi uz Izslēgts.

    Konfigurējiet kombinētā lodziņa rekvizītu Izkārtojums.

  12. Ievadiet Pievienošanas ikonu, un iestatiet tās rekvizītu OnSelect uz šo formulu:

    Relate( Gallery1.Selected.Contacts, ComboBox1.Selected )
    

    Konfigurēt Pievienošanas ikonu.

Lietojot šo programmu, lietotāji tagad var brīvi saistīt un atsaistīt kontaktpersonu kopu katrai precei.

  • Lai pievienotu precei kontaktpersonu, kombinētajā lodziņā ekrāna apakšpusē atlasiet kontaktpersonu, un pēc tam atlasiet ikonu Pievienot.

  • Lai no preces noņemtu kontaktpersonu, šai kontaktpersonai atlasiet ikonu Atcelt.

    Atšķirībā no relācijas viens pret daudziem, relācija daudzi pret daudziem ļauj lietotājiem saistīt vienu un to pašu kontaktpersonu ar vairākām precēm.

Demonstrēt Saistīšanas un atsaistīšanas funkcijas daudzi pret daudziem programmā.

Atgriezeniski: saistiet un atsaistiet preces ar vairākām kontaktpersonām

Relācijas daudzi pret daudziem ir simetriskas. Varat paplašināt šo piemēru, lai pievienotu preces kontaktpersonai un tad pāršķirt abus ekrānus, lai rādītu, kā relācija parādās no jebkura virziena.

  1. Iestatiet Screen1 rekvizītu OnVisible uz Atsvaidzināt( Preces ).

    Atjauninot attiecības viens pret daudziem vai daudzi pret daudziem, tiek atsvaidzināti tikai izsaukuma Saistīt vai Atsaistīt pirmā argumenta tabulas dati. Otro argumentu ir jāatsvaidzina manuāli, ja vēlaties pāršķirt divus ekrānus šajā programmā.

    Iestatiet rekvizītu OnVisible uz funkciju Atsvaidzināt.

  2. Dublējiet Screen1.

    Dublikāts tiks nosaukts par Screen1_1 un veido pamatu, kā skatīties uz relācijām no kontaktpersonu puses.

    Dublējiet ekrānu.

  3. Lai izveidotu apgriezto skatu, mainiet šīs formulas Screen1_1 vadīklās:

    • Screen1_1. OnVisible = Refresh( Contacts )
    • Gallery1_1.Items = Contacts
    • Title1_1.Text = ThisItem.'Full Name'
    • Label1_1.Text = "Selected Contact Products"
    • Gallery2_1.Items = Gallery1_1.Selected.Products
    • Title2_1.Text = ThisItem.Name
    • Icon1_1.OnSelect = Unrelate( Gallery1_1.Selected.Products, ThisItem )
    • ComboBox1_1.Items = Products
    • Icon2_1.OnSelect = Relate( Gallery1_1.Selected.Products, ComboBox1_1.Selected )

    Rezultāts būs ļoti līdzīgs iepriekšējam ekrānam, taču tas parādās relācijā no Kontaktpersonu puses.

    Rāda relāciju daudzi pret daudziem, sākot ar kontaktpersonām.

  4. Ievadiet Lejupvērsto un augšupvērsto bultiņu ikonu un iestatiet tās rekvizītu OnSelect uz Navigate( Screen1, None ). Dariet to pašu ar Screen1 ar formulu Navigate( Screen1_1, None ).

    Pievienojiet navigāciju starp ekrāniem.

Ar šo jauno ekrānu lietotāji var pievienot kontaktpersonu precei un tad pāršķirt uz kontaktpersonu skatu un skatīt saistīto preci. Relācijas ir simetriskas un dalītas starp diviem ekrāniem.

Demonstrējiet relāciju daudzi pret daudziem no vienas puses.