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 |
---|---|
18 | |
9 | |
8 | |
5 | |
5 |