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! Go to 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])
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.
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
User | Count |
---|---|
43 | |
27 | |
23 | |
14 | |
12 |