cambiar datosde hija a padre

Hola a todos.

No se como pasar datos desde la tabla hija a la tabla padre. Me explico

Tengo dos tablas una lista y la otra histrorico. En la tabal padre=listado tengo un campo imagen que se llama imagen y en la tabla historico tengo un campo imagen que se llama imagenrep y no se como pasar la imagenrep de historico a imagen de listado ademas tendria que cambiar otro dato en el campo estado que pasaria de reparar a correcto .

gracias

Solved Solved
0 18 421
1 ACCEPTED SOLUTION

Ah entiendo, si se puede, usando maxrow() y lookup(). en tu columan imagen de la gtabla padre pones esta formula:

lookup(maxrow("tablahija","columna echa",[_THISROW].[ID]=[Columna id en tabla hija]),"tabla hija",[columna ID de tabla padre],[columna imagen])

View solution in original post

18 REPLIES 18

if you are using VCs to do the needful  in the parent table, meaning updating VCs in the parent table, you could use dereferencing expressions.

Dereference expressions - AppSheet Help

If you wish to update real columns in the parent table, please use reference actions.

Reference Actions

 

Hola estoy echa do un vistazo y de momento no lo consigo entender por cierto son columnas reales en las 2 tablas

Muchas gracias

Ola Juan, como sabria la app quรฉ imagen escoger de tu tabla histรณrico? hay una columna en la tabla Listado como para hacer un buscarv?

Creo que tengo mal planteada la app

La idea de la app es un listado de ordenadores que pueden estar correctos o para reparar en el listado salen las dos ambas tienen foto cuando se repara se ha de cambiar la foto a correcta, el mismo ordenador se puede reparar en varias ocasiones la idea era hacer un bot que cambiese las fotos pero todo lo que consigo es crear una nueva fila. 

Gracias 

 

ah oik, entoncers lo que buscas es que dentro de tu tabla de ordenadores, tu columna de imagen sea 'dinรกmica' segun el estado CORRECTO o POR REPARAR. ? Como un semรกforo que cambia la luz.

 

Si algo parecido

ya entonces, lo mejor seria que aรฑadas una columna virtual, de tipo IMAGEN y en su formula "llamas" a la ruta + nombre del archivo+extencion. Por ejemplo Contatenate("IMAGEN/",[FOTO],".JPG")

Hola Luis.

Esta soluciรณn estรกria bien si la foto fuese siempre la misma. 

El caso que me ocupa es que la foto va ir cambiando  a lo mejor no me explico bien.

Lo que ando buscando es como hacer una relaciรณn de muchos a uno,  osea que la รบltima fila aรฑadida en la tabla hija me cambie la foto de la tabla padre. Ahora mismo tengo configurada la tabla  padre y la tabla hija relacionados por los id respectivos osea en la tabla hija tengo aรฑadido el id de la tabla padre y configurado como ref. 

No se si me explico bien

Muchas gracias por tus aportaciones

Un saludo 

 

 

Ah entiendo, si se puede, usando maxrow() y lookup(). en tu columan imagen de la gtabla padre pones esta formula:

lookup(maxrow("tablahija","columna echa",[_THISROW].[ID]=[Columna id en tabla hija]),"tabla hija",[columna ID de tabla padre],[columna imagen])

Hola he intentado poner la formula yme da error yo la he interpretado asi:

lookup(maxrow("HISTORICO","IDLISTADO",[_THISROW].["IDLISTADO"]=["IDLISTADO"]),"HISTORICO",[IDLISTADO],["IMAGENREP"])

 

tabla padre = listado el id es IDLISTADO y la el campo imagen Es IMAGEN

Tabla hija = HISTORICO Y EL CAMPO IMAGEN โ‰  IMAGENREP EL ID ES IDHISTRORICO Y el id padre es IDLISTADO

El error:

A la funciรณn 'BUSCAR' se le deben pasar valores constantes para sus parรกmetros tableName, lookupColumn y returnColumn: BUSCAR(lookupValue, tableName, lookupColumn, returnColumn).  Considere envolver los parรกmetros constantes entre comillas dobles para garantizar un anรกlisis correcto.

en algun lado me he perdido-

muchas gracias 

CONSULTA, cual es el 'KEY' en tu tabla hija?

@Juan1963  ESto me parece que puede resolver el problema.

Buscando en la ayuda encontre otra soluccion pero tampoco me funciona

LOOKUP(maxrow("HISTORICO","_ROWNUMBER",[_THISROW].[IDLISTADO]=[IDLISTADO]),"HISTORICO",["IDLISTADO"],["IMAGENREP"])

me sigue dando el mismo error no se donde he de poner las comillas exactamente

como la busqueda esta partida en dos lookup() Y Maxrow() he de cidola dividir en dos para ver resultados:

maxrow("HISTORICO","_ROWNUMBER",[_THISROW].[IDLISTADO]=[IDLISTADO])

le hago el test y no obtengo el resultado deseado

Nota: Esta expresiรณn podrรญa afectar el rendimiento. Un valor elegido al azar de esta lista ( ........La lista de valores de la columna 'IDHISTORICO' ........de las filas de la tabla 'HISTORICO' ...... ..donde este la condiciรณn es verdadera: (TODAS estas afirmaciones son verdaderas: ............1: (El valor de 'IDLISTADO' de la fila referenciada por 'IDHISTORICO') es igual a ( "LISTADO") . ...........2: (El valor de la columna '_RowNumber') es igual a (MAX( ................ ....La lista de valores de la columna '_RowNumber' ....................de filas de la tabla 'HISTORICO' ........ ......... ....donde esta condiciรณn es verdadera: ((El valor de 'IDLISTADO' de la fila referenciada por 'IDHISTORICO') es igual a ("LISTADO"))))))

el MAXROW() te da el valor del KEY column de la fila donde se tenga el mรกximo valor de la columna que indicaste en su formula.

Muchas gracias Luis por responder.

He entendido el concepto pero en el test me devuelve todas las filas hijas y de verรญa de devolver solo una

Gracias por dedicarme tu tiempo

CON EL MAX ROW() OBTIENES el valor del KEY column de tu tabla hija.

Luego con el lookup() lo usas para elegur el valor de la columna imagen de la fila obtenida de ese valor KEY con maxrow().  

Entiendo el concepto pero algo falla seguirรฉ dando vueltas,  creo que voy por el camino correcto

Top Labels in this Space