2 votos

Obtención de datos de campo de una base de datos de Bento usando Applescript

Estoy teniendo problemas para obtener los valores de los campos de una base de datos de Bento usando Applescript:

Yo'mn utilizando el siguiente código para obtener en las entradas, pero no soy capaz de conseguir en las celdas o campos asociados con las entradas. Puede alguien me apunte en la dirección correcta:

tell application "Bento"
repeat with i from 1 to count of libraries
    set theName to name of library i
    log theName
    if theName is equal to "Reconnaissance site report" then
        log "The library has been found"
        set theLibraryProperties to properties of library i
        log theLibraryProperties
        tell library i
            repeat with j from 1 to count of entries
                set theEntryName to id of entry j
                set theEntryProperties to properties of entry j
                log theEntryName
                log theEntryProperties
            end repeat
        end tell
    end if
end repeat
end tell

1voto

Oskar Puntos 1242

Bento del diccionario de secuencias de comandos es bastante delgado. Se ve como el campo, las entradas y las células están todos en la ciudad de Bento 3 diccionario de secuencias de comandos, por lo que es difícil decir si han estado allí todo el tiempo o se agregan para uso futuro.

enter image description here

Yo no soy muy experto en la depuración de AppleScript, así que no puedo ver ningún error con el código que has publicado.

¿Has probado de bucle sobre _source_items_ para los campos y las células? El diccionario parece indicar que el dato está ahí y no se como acceder fácilmente a partir de una colección. Eso y un montón de registro podría compensar la falta de una herramienta interactiva para la consulta de las secuencias de comandos el puente.

El Scripting es un rasgo diferenciador entre Bento y la más completa de Filemaker producto de la misma gente.

Has probado usando sqlite3 para leer solamente la base de datos en ~/Library/Application\ Support/Bento/bento.bentodb/Contents/Resources/Database ?

El esquema y las mesas están todos abiertos a cualquier SQL herramienta que le gusta. Espero que sea sólo una cuestión de construir el derecho de consulta de si usted prefiere AppleScript (y hay mucho que prefieren sobre él de la línea de comandos de secuencias de comandos).

-1voto

Nader Shirazie Puntos 8494

Moto tiene algunos buenos consejos, pero yo voy a agregar algunos ojalá información útil.

La biblioteca y la colección seleccionada, cada uno de los campos en los que la biblioteca debe estar almacenado en los 'campos' propiedad de la biblioteca.

Como se itera a través de las entradas, cada entrada contiene celdas de una colección donde el nombre de cada celda se corresponde con el nombre de los campos en los campos de la colección

Conjunto de myValue a la celda "nombre de campo" de entrada j

Lo siento, no puedo publicar cualquier código real atm, escribiendo desde el iPad.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X