Actualizar campos de una tabla al registrar datos en otra

Buenas tardes.

Tengo una tabla de nombre ACTIVOS, donde registro los equipos de una empresa. Entre los campos del equipo se encuentra el estatus el cual es variable, es decir, se actualiza al registrar datos en una tabla de nombre REGISTROS. Lo que busco es crear una automatización que al guardar los datos en la tabla REGISTROS se actualice el activo respectivo en la tabla ACTIVOS.

Ahora bien para ellos construí dos acciones:

1 Actualizar el activo

2 Seleccionar activo

En el REGISTROS.FORM coloque:

A pesar de ello no funciona, no actualiza y quiero que actualice el equipo en base a su serie ya que unica

Quedo atento a sus aportes y comentarios.

2 22 6,428
22 REPLIES 22

Hola,

Reemplaza la expresion en la accion Seleccionar Activo con lo siguiente:

SELECT( Activos[ID], [Serie] = [_THISROW].[Serie] )

reemplaza ID con el nombre de la columna que contiene el ID o Key de cada linea.

Intenta y me cuentas

Muchas gracias @Alejandra_Petro pude resolver el proceso que buscaba.

Mil gracias.

Hola! Jesus, perdón fijate que deseo realizar el mismo proceso que tú. Me puedes indicar como está realizado el LOOKUP del comportamiento Actualizar activo?. Por favor, llevo varios días investigando pero tu pregunta me resulta útil. Muchas gracias de antemano.

Hola, no se si ya lo resolviste, pero yo lo hice de esta forma

Select(Tabla[Columna], [Key] = [_THISROW].[Key])

Tabla[Columna] : Sería la tabla y columna de la que quieres obtener el valor
[Key] = [_THISROW].[Key] : Condición a cumplir para la obtención del valor anterior, en este caso indicamos que el Key de ambas tablas coincida.

Espero te sea de ayuda.
Saludos

Muchas gracias por la respuesta. Me ha ayudado mucho.

Buenas tardes Alejandra, 

Porfa tu apoyo, estoy registrando datos en mi aplicativo AppSheet, sin embargo esos datos no se guardan en la hoja sheet donde se estaba almacenando todos los datos ingresados, me sale el error: unable to add row to table appsheet, que puedo hacer para corregir este error=?

 

 

Buenos días. 

Perdón, en la imagen 1, donde consigna LOOKUP, cómo sería la fórmula completa? 

Es decir, como hace referencia al último Registro en base al cual quiere actualizar el valor del Activo correspondiente? 

Pregunto porque tengo un caso de uso similar, y el Lookup encontraría el primer registro de lo que sería la tabla Registro y no el último. 

Quizá si pudiera compatir la fórmula que usa en la primera imagen (usando LOOKUP), se aclara mi duda. 

Gracias, Marcos. 

Ok, muchas gracias, con dos de esas funciones que mencionó pude  resolverlo con select() y max().

Gracias. 

Buenas tardes; ¿cómo hizo para poner en español el ambiente de edición?

Gracias

Buenas tardes Atilio, las capturas de pantalla que abren este hilo son de @jesus_castro.

Me da la impresión que lo hace mediante el complemento de Google Traductor, configurando la traducción automática para el dominio de appsheet.com

Saludos. Marcos. 

Así es, lo cual no es recomendable

Jesus tengo una situacion parecida a la tuya, como te puedo contactar para que me puedas dar un poco de ayuda?

Tu ya encontraste alguna solución? Tengo un caso similar

@Isaac94 Por qué no abrir un nuevo post explicando tu situación con detalle? Es probable que parezcan cosas similares pero no lo sean realmente

lo que no logro hacer es que se ejecute el evento cuando le doy al boton save de mi pantalla.

Se puede hacer? necesitaria poder actualizar un campo y un estado al momento de que se hace el insert en la tabla. Agradezco me puedan ayudar. Soy principiante.

Buenas noches @elfuga82

Entiendo que el poder modificar determinados campos de un registro existente en una tabla puntual, a partir de cambios ocurridos en otra tabla, es una característica que está solicitada desde hace algún tiempo por la comunidad, para que se incorpore a Appsheet. 

Leí que se puede hacer mediante API, pero al menos para mi, me pareció un muy método enrevesado para una operación que debería ser sencilla, por la habitualidad y la frecuencia con la que se dan escenarios en donde se necesita hacer esto. 

Finalmente, para actualizar campos de una tabla a partir de datos modificados en otra, lo tuve que resolver por fuera de Appsheet,  usando Google Apps Script, mediante un script que se ejecuta cada vez que se detecta un cambio en el archivo de google sheets que uso como base de datos de la app de Appsheet. Entiendo que no es una solución elegante pero hasta el momento me resultó eficaz. 

Si estás familiarizado con google apps script, te puede servir mi respuesta; de no ser así, es un camino que te puede resultar más enrevesado aún. 

Saludos, Marcos. 

 


@MarcosL wrote:

por la habitualidad y la frecuencia con la que se dan escenarios en donde se necesita hacer esto. 


Por el momento nunca lo he necesitado, y de todos modos no veo difícil hacerlo con actions

Gracias por su respuesta.

 

Pero ¿Cómo seria? Si nos puede dar una pista. 

Es decir, cómo lograr que al editar un campo en un registro de una tabla (tabla1), automáticamente se modifique un valor de un registro ya existente en otra tabla (tabla2) de la base datos, siendo que existe una relación entre ambas tablas por un campo clave. 

Desde ya muchas gracias. 

Saludos. Marcos. 

 

exacto algo asi... yo he investigado action eventos y todo. pero no se como hacer que al insertar una fila en una tabla... automáticamente me cambien un campo de otra... no se como decirle ejecuta esta accion luego de insertar...

 

Dos métodos.

Uno es disparar una "execute an action on a set of rows" action después del form save que referencie a la tabla donde se encuentra la fila que desean cambiar y usar una "referenced rows" expression que tenga una lista con solo un valor, la key de la fila que van a cambiar. "Referenced action" debe tener una action nueva que se encargue de cambiar los campos que necesitan usando la info del formulario que están guardando.

El segundo método es básicamente lo mismo pero usando un bot que corre la "execute an action on a set of rows" después de cada Add a la tabla inicial

Buenas tardes SkrOYC, 

Porfa tu apoyo, estoy registrando datos en mi aplicativo AppSheet, sin embargo esos datos no se guardan en la hoja sheet donde se estaba almacenando todos los datos ingresados, me sale el error: unable to add row to table appsheet, que puedo hacer para corregir este error=?

 

Top Labels in this Space