Modifica o crea uno o varios registros de un origen de datos o combina registros fuera de un origen de datos.

Use la función Patch para modificar registros en situaciones complejas, como cuando se realizan actualizaciones que no requieren interacción del usuario o se usan formularios que abarcan varias pantallas.

En situaciones menos complejas, puede utilizar el control Formulario de edición para actualizar registros en un origen de datos con mayor facilidad. Cuando agrega un control Formulario de edición, proporciona a los usuarios un formulario para rellenar y después guarda los cambios en un origen de datos. Para más información, consulte Descripción de los formularios de datos.

Información general

Use la función Revisión para modificar uno o varios registros de un origen de datos. Los valores de campos específicos se modifican sin que otras propiedades se vean afectadas. Por ejemplo, esta fórmula cambia el número de teléfono de un cliente llamado Contoso:

Patch( Customers, First( Filter( Customers, Name = "Contoso" ) ), { Phone: “1-212-555-1234” } )

Use Revisión con la función Defaults para crear registros. Use este comportamiento para crear una sola pantalla tanto para crear como para editar registros. Por ejemplo, la siguiente fórmula crea un registro para un cliente llamado Contoso:

Patch( Customers, Defaults( Customer ), { Name: “Contoso” } )

Incluso si no está trabajando con un origen de datos, puede usar Revisión para combinar dos o más registros. Por ejemplo, esta fórmula combina dos registros en uno que identifica tanto el número de teléfono como la ubicación de Contoso:

Patch( { Name: "Contoso", Phone: “1-212-555-1234” }, { Name: "Contoso", Location: “Midtown” } )

Descripción

Modificar o crear un registro en un origen de datos

Para usar esta función con un origen de datos, especifique el origen de datos y, a continuación, especifique un registro base:

  • Para modificar un registro, el registro base debe proceder de un origen de datos. El registro base puede proceder de una propiedad Items de la galería, haberse colocado en una variable de contexto o proceder de algún otro sitio. Sin embargo, debe poder realizar un seguimiento del registro base hasta el origen de datos. Esto es importante, ya que el registro incluirá información adicional para ayudar a encontrar el registro para la modificación.

  • Para crear un registro, use la función Defaults para crear un registro base con valores predeterminados.

A continuación, especifique uno o más registros de cambio, cada uno de los cuales contenga nuevos valores de propiedad que reemplacen los valores de propiedad en el registro base. Los registros de cambio se procesan en orden, desde el principio de la lista de argumentos hasta el final, donde los valores de propiedad últimos reemplazan a los primeros.

El valor devuelto de Revisión es el registro modificado o creado. Si ha creado un registro, el valor devuelto puede incluir propiedades que el origen de datos generó automáticamente.

Al actualizar un origen de datos, pueden surgir uno o varios problemas. Use la función Errors para identificar y examinar los problemas, como se describe en Working with Data Sources (Uso de orígenes de datos).

Las funciones relacionadas incluyen Actualizar, que puede usar para reemplazar un registro entero, o Recopilar, que puede usar para crear un registro. Puede usar la función UpdateIf para modificar propiedades específicas de varios registros según una condición.

Modificar o crear un conjunto de registros en un origen de datos

Revisión también puede utilizarse para crear o modificar varios registros con una sola llamada.

En lugar de pasar un único registro base, se puede proporcionar una tabla de registros base en el segundo argumento. También se proporcionan registros de cambio en una tabla, que se corresponden uno a uno con los registros base. El número de registros en cada tabla de cambios debe ser el mismo que el número de registros en la tabla base.

Cuando se usa Revisión de esta manera, el valor devuelto también es una tabla donde cada registro se corresponde uno a uno con los registros base y de cambio.

Combinar registros fuera de un origen de datos

Especifique dos o más registros que desee combinar. Los registros se procesan en orden desde el principio de la lista de argumentos hasta el final, donde los valores de propiedad últimos reemplazan a los primeros.

Revisión devuelve el registro combinado y no modifica sus argumentos ni los registros de ningún origen de datos.

Sintaxis

Modificar o crear un registro en un origen de datos

Revisión( DataSource, BaseRecord, ChangeRecord1 [, ChangeRecord2, … ])

  • DataSource: requerido. El origen de datos que contiene el registro que desea modificar o que contendrá el registro que desea crear.

  • BaseRecord: valor necesario. El registro para modificar o crear. Si el registro proviene de un origen de datos, el registro se encuentra y se modifica. Si se usa el resultado de Defaults, se crea un registro.

  • ChangeRecord(s): requerido. Uno o más registros que contienen propiedades para modificar en BaseRecord. Los registros de cambio se procesan en orden, desde el principio de la lista de argumentos hasta el final, donde los valores de propiedad últimos reemplazan a los primeros.

Modificar o crear un conjunto de registros en un origen de datos

Revisión( DataSource, BaseRecordsTable, ChageRecordTable1, [, ChangeRecordTable2,... ] )

  • DataSource: requerido. El origen de datos que contiene los registros que desea modificar o que contendrá los registros que desea crear.

  • BaseRecordTable: requerido. Una tabla de registros para modificar o crear. Si el registro proviene de un origen de datos, el registro se encuentra y se modifica. Si se usa el resultado de Defaults, se crea un registro.

  • ChangeRecordTable(s): requerido. Una o varias tablas de registros que contienen propiedades para modificar de cada registro de BaseRecordTable. Los registros de cambio se procesan en orden, desde el principio de la lista de argumentos hasta el final, donde los valores de propiedad últimos reemplazan a los primeros.

Combinar registros

Revisión( Record1, Record2 [, …] )

  • Registro(s): requerido. Al menos dos de los registros que desea combinar. Los registros se procesan en orden desde el principio de la lista de argumentos hasta el final, donde los valores de propiedad últimos reemplazan a los primeros.

Ejemplos

Modificar o crear un registro (en un origen de datos)

En estos ejemplos, modificará o creará un registro en un origen de datos denominado IceCream, que contiene los datos de esta tabla y generará automáticamente los valores de la columna ID:

Fórmula Descripción Resultado
Patch( IceCream,
First( Filter( IceCream, Flavor = "Chocolate" ) ), { Quantity: 400 } )
Modifica un registro del origen de datos IceCream:
  • La columna ID del registro para modificar contiene el valor de 1. (El registro Chocolate tiene ese ID).
  • El valor de la columna Quantity cambia a 400.
{ ID: 1, Flavor: "Chocolate", Quantity: 400 }

La entrada Chocolate del origen de datos IceCream se ha modificado.
Patch( IceCream, Defaults( IceCream ), { Flavor: “Strawberry” } ) Crea un registro en el origen de datos IceCream:
  • La columna ID contiene el valor 3, que el origen de datos genera automáticamente.
  • La columna Quantity contiene 0, que es el valor predeterminado de esa columna en el origen de datos IceCream, como especifica la función Defaults.
  • La columna Flavor contiene el valor de Strawberry.
{ ID: 3, Flavor: “Strawberry”, Quantity: 0 }

Se ha creado la entrada Strawberry en el origen de datos IceCream.

Después de que se han evaluado las fórmulas anteriores, el origen de datos termina con estos valores:

Combinar registros (fuera de un origen de datos)

Fórmula Descripción Resultado
Patch( { Name: "James", Score: 90 }, { Name: "Jim", Passed: true } ) Combina dos registros fuera de un origen de datos:
  • Los valores de la columna Name de cada registro no coinciden. El resultado contiene el valor (Jim) en el registro que se aproxima más al final de la lista de argumentos en lugar del valor (James) en el registro que está más cerca del principio.
  • El primer registro contiene una columna (Score) que no existe en el segundo registro. El resultado contiene esa columna con su valor (90).
  • El segundo registro contiene una columna (Passed) que no existe en el primer registro. El resultado contiene esa columna con su valor (true).
{ Name: "Jim", Score: 90, Passed: true }