Applescript를 사용하여 Bento 데이터베이스에서 필드 데이터 가져 오기


2

Applescript를 사용하여 Bento 데이터베이스에서 필드 값을 가져 오는 데 문제가 있습니다.

다음 코드를 사용하여 항목을 가져 오지만 항목과 관련된 셀 또는 필드를 얻을 수 없습니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

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

항목을 읽기 전에 필드 설정을 시도 했습니까? 둘 다 source_items에 속하는 것 같습니다 . 내 대답에 불가능하다고 서둘 렀을 수도 있습니다. 데이터를 가져 오는 데 구문 또는 논리적 오류가있을 수 있습니다.
bmike

답변:


1

Bento의 스크립팅 사전은 매우 얇습니다. 필드 , 항목셀이 모두 Bento 3 스크립팅 사전에있는 것처럼 보이기 때문에 이들이 모두 함께 사용되었거나 나중에 사용하기 위해 추가되었는지는 말하기가 어렵습니다.

여기에 이미지 설명을 입력하십시오

AppleScript를 디버깅하는 데 능숙하지 않으므로 게시 한 코드에서 오류를 볼 수 없습니다.

필드셀에 대해 _source_items_를 반복 해 보셨습니까 ? 사전은 데이터가 거기에 있으며 컬렉션 에서 쉽게 액세스 할 수 없음을 나타냅니다 . 스크립팅 브릿지를 쿼리하는 대화식 도구가 없기 때문에 많은 로깅이 필요할 수 있습니다.

스크립팅은 Bento와 동일한 기능을 갖춘 더 많은 기능을 갖춘 Filemaker 제품을 차별화하는 기능입니다.

sqlite3을 사용하여 데이터베이스를 읽었 ~/Library/Application\ Support/Bento/bento.bentodb/Contents/Resources/Database습니까?

스키마와 테이블은 모두 원하는 SQL 도구에 열려 있습니다. AppleScript를 선호한다면 명령을 작성하는 것이 중요합니다 (명령 행 스크립팅보다 선호하는 것이 많이 있습니다).


@bmike 감사합니다. 정보에 액세스 할 수없는 경우 필드 및 항목이 Bento 4 Applescript Dictionary에있는 이유를 알고 있습니다. 나는 비록 거의 성공하지 못했지만 이전에는 Applescript를 사용하여 데이터베이스에 액세스하려고 시도했습니다.
Ian Turner

이안-좋은 질문입니다. 가능하지 않다고 성급하게 말했을 수도 있습니다. 나는 대답을 편집하고 조금 찌르다-나는 당신 이이 일을하기를 바랍니다.
bmike

-1

자전거에는 좋은 조언이 있지만 희망적으로 유용한 정보를 추가하겠습니다.

선택한 라이브러리 / 컬렉션, 라이브러리의 각 필드는 라이브러리의 'fields'속성에 저장해야합니다.

항목을 반복 할 때 각 항목에는 각 셀의 이름이 필드 콜렉션의 필드 이름과 일치하는 셀 콜렉션이 포함됩니다.

myValue를 j 항목의 셀 "필드 이름"으로 설정

죄송합니다. iPad에서 작성하여 실제 코드 atm을 게시 할 수 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.