JSL: ¿Cómo puedo obtener las ID de las líneas seleccionadas y exportarlas en un archivo de texto?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
Me gustaría programar un script que cree un pequeño archivo de texto. Este archivo es en realidad un enlace de instantánea utilizado por FileMaker para abrir un conjunto de registros guardados. Este es un archivo XML, pero con una extensión de archivo reconocida por FileMaker (".fmpsl"):
Snapshot link es un archivo muy simple. Una primera cadena de texto es fija, seguida de la lista de ID de la base de datos (almacenada en una columna de la tabla JMP) y una tercera parte que consiste en una cadena de texto fija como la primera:
fmnet: /99.129.6.76/my_database.fmp12
Los ID (la única parte variable) en este ejemplo son el 5935 y el 6597.
También me gustaría que mi acción dispare la apertura del archivo de Snapshot Link creado. Así que podría acceder a los registros relacionados con mi base de datos con un simple clic en JMP.
¿Se puede lograr este proyecto con JSL? La solución podría ser multiplataforma o ejecutarse solo en Mac.
Soy nuevo en JSL.
Gracias por tu ayuda.
CB
Re: JSL: ¿Cómo puedo obtener las ID de las líneas seleccionadas y exportarlas en un archivo de texto?Hola,
Tengo otra pregunta. ¿Puedo tener una lista de mis ID de base de datos externos (que se almacenan en una columna de mi tabla JMP) en lugar de los números de fila de la tabla de JMP («fileRows»)? El código relevante en tu publicación fue:
fileRows = "" ;
por ( r = 1 , r <= NRow ( rs ) , r ++,
fileRows = fileRows || Carbonizarse ( rs El r ]) || "\!norte" ;
) ;
¡Muchas gracias!
Claude
Re: JSL: ¿Cómo puedo obtener las ID de las líneas seleccionadas y exportarlas en un archivo de texto?Feliz de ayudar, Claude. Me alegro de haber encontrado una solución que funcionó para usted.
Re: JSL: ¿Cómo puedo obtener las ID de las líneas seleccionadas y exportarlas en un archivo de texto?Bien. Estaba dando a Excel como una situación similar en la que JMP no necesita interactuar con la aplicación. Simplemente le dice al sistema operativo que abra el archivo creado con la aplicación predeterminada.
De todos modos, he encontrado una solución viable esta mañana. Escribí un script de MacOS (de hecho, es una acción de Automator) que supervisa una carpeta y abre cualquier archivo que aparezca dentro. Hay un retraso (0,5 - 2 segundos), pero funciona.
Para terminar, permítame agradecerle nuevamente por su ayuda. ¡Eso me ayudará mucho!
CB
Re: JSL: ¿Cómo puedo obtener las ID de las líneas seleccionadas y exportarlas en un archivo de texto?En la parte superior del hilo mencionas FileMaker, que aunque nunca lo he usado, asumo que es: http://www.filemaker.com ). Pero inmediatamente arriba, mencionas Excel. Hará una diferencia en los detalles de un enfoque factible, estoy seguro.
Como la documentación indica que 'RunProgram ()' controla 'un programa externo usando stdin y stdout'. Supongo que, después de haber escrito el archivo xml que contiene los datos, el jsl también tendría que escribir un segundo archivo que indique a FileMaker o Excel que consuma estos datos, y este segundo archivo se invocará a través de 'Ejecutar programa ()'. Pero probablemente también vale la pena decir que (dependiendo de si es FileMaker o Excel lo que necesita), puede haber una mejor manera de hacerlo.
Re: JSL: ¿Cómo puedo obtener las ID de las líneas seleccionadas y exportarlas en un archivo de texto?Gracias Ian.
Me las arreglé para adaptar el guión. El archivo se crea y funciona !!
Pero todavía no entiendo cómo decirle al sistema operativo que abra el texto expediente . He estudiado cuidadosamente los guiones del índice y la ayuda. He estado ejecutando estos 4 ejemplos, pero ninguno parece satisfacer mis necesidades.
Como escribí anteriormente, mi situación es así:
Cree un script que exportaría en un archivo un extracto de la tabla JMP y quién le diría al sistema operativo que abra este archivo (por Excel, no por JMP).
CB
Re: JSL: ¿Cómo puedo obtener las ID de las líneas seleccionadas y exportarlas en un archivo de texto?La referencia que proporcioné para 'RunProgram ()' en el índice de secuencias de comandos tiene cuatro ejemplos, y si inspecciona el código y ejecuta cada uno, debe crear una mejor imagen. También hay un botón 'Ayuda de tema'.
Para obtener el valor de una celda, en lugar de la fila en la que reside, puede usar la columna de sintaxis (dt, myCol) [myRow]. Por lo tanto, si desea escribir las alturas en las filas seleccionadas, necesitará:
Carbonizarse ( Columna ( dt , "altura" ) [ rs El r ]])
en lugar de:
Carbonizarse ( rs El r ])
Re: JSL: ¿Cómo puedo obtener las ID de las líneas seleccionadas y exportarlas en un archivo de texto?2 preguntas más:
1- ¿El comando «Ejecutar programa» solo funciona con un archivo ejecutable (.exe en Windows o .app en Mac OS)? Después de exportar los datos JMP a un archivo de Excel, ¿cómo puede la secuencia de comandos JSL indicar al sistema operativo que abra automáticamente ese archivo (no solo Excel)? Tal vez se necesita un segundo parámetro?
2- La sección central de su script escribe los números de fila seleccionados en el archivo. ¿Cómo puedo escribir una lista con el contenido de una columna de datos normal (el ID interno de mi base de datos) para las líneas seleccionadas?
Como puede ver, mi comprensión de JSL es muy básica (y también mi inglés).
¡Gracias de nuevo!
CB
Re: JSL: ¿Cómo puedo obtener las ID de las líneas seleccionadas y exportarlas en un archivo de texto?DE ACUERDO. Así que echa un vistazo al comando 'RunProgram ()' (a través de 'Ayuda> Índice de secuencias de comandos').
Re: JSL: ¿Cómo puedo obtener las ID de las líneas seleccionadas y exportarlas en un archivo de texto?Muchas gracias Ian.
¡Este es un muy buen punto de partida!
La acción es simple: dígale al sistema operativo que abra esa instantánea («.fmpsl») FileMaker expediente.
Claude
Re: JSL: ¿Cómo puedo obtener las ID de las líneas seleccionadas y exportarlas en un archivo de texto?Algo como esto, tal vez?
NombresDefaultToHere ( 1 ) ;
// Ejemplo de tabla con filas seleccionadas
dt = Abierto ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
dt << seleccionar al azar ( 0.5 ) ;
rs = dt << getSelectedRows ;
// Definir los archivos del archivo .fmpsl
fileHeader =
"
fmnet: /99.129.6.76/my_database.fmp12