Partekatu honen bidez:


Errores funtzioa

Hauei aplikatzen zaie: Canvas aplikazioei Ereduetan oinarritutako aplikazioei

Errorearen informazioa ematen du aurreko aldaketentzat datu-iturburua.

Informazio orokorra

A akatsak gerta daitezke a erregistroa datu-iturburu aldatu da. Kausa ugari daude, besteak beste, sareko irteerak, baimen eskasak eta editatu beharreko gatazkak.

Datu-iturburuetako datuak aldatzen dituzten funtzioak, adibidez Patch, Collect, Remove, RemoveIf, Update, UpdateIf, eta SubmitForm bi modutan ematen dute erroreen berri:

  • Funtzio horietako bakoitzak errore-balio bat itzuliko du eragiketaren emaitza gisa. Erroreak IsError detekta daitezke eta ordezkatu edo kendu IfError eta App.OnError ohi bezala. Ikusi Errore-kudeaketa informazio gehiagorako.
  • Eragiketaren ondoren, Errors funtzioak aurreko eragiketetako erroreak ere itzuliko ditu. Baliagarria izan daiteke errore-mezu bat inprimaki-pantailan bistaratzeko, egoera aldagai batean errorea atzeman beharrik gabe.

Akats batzuk saihestu ditzakezu, hau erabili aurretik Balidatu eta DataSourceInfo funtzioak. Ikusi datu-iturriekin lan egitea iradokizun gehiago lortzeko nola lan egin eta akatsak saihesteko.

Deskribapenak

Errors funtzioak itzultzen du taula hurrengoak dituen akatsak zutabeak:

  • Erregistroa. Erregistroa datu-iturburuan errorea zeukan. Errorea erregistro bat sortzerakoan gertatu bada, zutabe hau izango da hutsik.
  • Zutabea. Errorea eragin duen zutabea, errorea zutabe bakar bati egotz dakioke. Ez bada, hori egongo da hutsik.
  • Mezua. Errorearen azalpena. Akats kate hau azken erabiltzailearentzat bista daiteke. Jakin ezazu mezu hau datu-iturburu-ek sor dezakeela eta luzea izan daitekeela, eta erabiltzaileari zentzurik ez dakien zutabe gordinak izan ditzakeela.
  • Errorea. Errorea konpontzeko formuletan erabil daitekeen errorearen kodea:
ErrorKind Deskribapenak
ErrorKind.Conflict Beste aldaketa bat egin zen erregistro berean, eta ondorioz gatazka aldatu zen. Erabili Freskatu funtzioa erregistroa berriz kargatzeko eta saiatu berriro.
ErrorKind.ConstraintViolation Murrizketa bat edo gehiago urratu dira.
ErrorKind.CreatePermission Erregistro bat sortzeko saiakera bat egin zen eta uneko erabiltzaileak ez du erregistroak sortzeko baimenik.
ErrorKind.DeletePermission Erregistro bat ezabatzeko saiakera bat egin zen eta uneko erabiltzaileak ez du erregistroak ezabatzeko baimenik.
ErrorKind.EditPermission Erregistro bat editatzeko saiakera bat egin zen eta uneko erabiltzaileak ez du erregistroak editatzeko baimenik.
ErrorKind.GeneratedValue datu-iturburu-ek automatikoki sortzen duen zutabe bat aldatzeko saiakera bat egin zen.
ErrorKind.MissingRequired Beharrezko zutabearen balioa erregistroan falta da.
ErrorKind.None Ez da akatsik egon.
ErrorKind.NotFound Erregistro bat editatzeko edo ezabatzeko ahalegina egin zen, baina ezin da erregistroa aurkitu. Baliteke beste erabiltzaile batek erregistroa aldatu duela.
ErrorKind.ReadOnlyValue Irakurtzen den zutabe bat aldatzeko saiakera bat egin zen.
ErrorKind.Sync Errorea informatu zen datu-iturburuaren bidez. Kontsultatu Mezuaren zutabea informazio gehiagorako.
ErrorKind.Unknown Akats bat gertatu da, baina ezezaguna.
ErrorKind.Validation Balidazio arazo orokor bat hauteman da, eta ez zen beste mota batekoa.

Akatsak datu-iturburu osora itzul daitezke, edo hautatutako errenkada batentzat soilik Erregistroa funtzioaren argumentua.

Patch edo beste datu funtzio batek a itzul dezake hutsik balioa, adibidez, erregistro bat ezin bada sortu. Pasa dezakezu hutsik Akatsak, eta erroreei buruzko informazio egokia itzuliko du kasu hauetan. datu-iturburu beraren datu funtzioen ondorengo erabilerak errore informazio hau garbituko du.

Akatsik ez badago, taula hori Errors itzulerak izango dira hustu eta probatu daiteke isempty funtzioa.

Sintaxia

Akatsak( Datu-iturburua [, Erregistroa ] )

  • DataSource – Beharrezkoa. Datu-iturburua erroreak itzuli nahi dituzu.
  • Erregistroa - Aukerakoa. Erregistro zehatz bat zeinarentzat erroreak itzuli nahi duzun. Argudio hau zehazten ez baduzu, funtzioak erroreak itzultzen ditu datu-iturburu osorako.

Adibideak

Urratsez urrats

Adibidez, honekin lankidetzan arituko gara Izozkia datu-iturburu:

Izozkia.

Aplikazioaren bidez, erabiltzaileak txokolatearen erregistroa datuak sartzeko inprimakian kargatzen du eta, ondoren, balioa aldatzen du Kopurua 90era. Landu beharreko erregistroa erregistroan kokatzen da testuinguru-aldagaiaEditRecord:

  • UpdateContext( { EditRecord: LookUp( IceCream, Flavor = "Chocolate" ) } )

datu-iturburu-en aldaketa hau egiteko, Patch funtzioa erabiltzen da:

  • Adabakia (Izozkia, EditRecord, Gallery.Updates)

Non Gallery.Updates ebaluatzen du { Kantitatea: 90 }, bakarrik baitago Kopurua jabetza aldatu da.

Zoritxarrez, aurretik Patch funtzioa deitu da, beste norbaitek aldatzen du Kopurua Txokolatea 80rako. Power Apps Hori hauteman egingo du eta ez du gatazkaren aldaketa gertatuko. Egoera hau formula honekin egiaztatu dezakezu:

  • IsEmpty( Erroreak( Izozkia, EditRecord ) )

Itzultzen duena faltsua, izan ere Errors funtzioak taula hau itzuli du:

Erregistroa Zutabea Mezua Errorea
{ Zaporea: "Txokolatea", Kantitatea: 100 } hutsik "Beste erabiltzaile batek aldatu nahi dituzun erregistroak aldatu ditu. Mesedez berriz kargatu erregistroa eta saiatu berriz." ErrorKind.Conflict

Erabiltzaileari akats hau erakusteko formularioan etiketa bat jar dezakezu.

  • Errorea erakusteko, ezarri etiketa Testua formula honen jabetza:
    Label.Text = Lehena(Erroreak( Izozkia, EditRecord )).Mezua

Gehitu dezakezu Birkargatu inprimakiaren botoia, erabiltzaileak gatazka modu eraginkorrean konpondu dezan.

  • Gatazka gertatu denean soilik botoia erakusteko, ezarri botoia Visible formula honen jabetza:
    !IsEmpty( Lookup( Errors( IceCream, EditRecord ), Error = ErrorKind.Conflict ) )
  • Itzultzeko aldatu erabiltzailea hautatu botoia, ezarri horren OnSelect propietatea formula honetan:
    ReloadButton.OnSelect = Itzuli( Izozkia, EditRecord )