2009-06-22 3 views
1

나는 아주 간단한 데이터베이스 응용 프로그램을 만드는 것에 대해 FileMaker를 조사하도록 요청 받았다. 이 응용 프로그램은 연락처 정보, 조직에서 호스팅하는 이벤트에 대한 일부 정보를 처리하며, 현재 내가 고심하고있는 곳입니다. 연락처 및 이벤트를 연결하는 RSVP 정보는 물론 지불 관련 데이터도 저장합니다.FileMaker에서 "복잡한 양식"만들기 - 가능합니까?

사용자가 연락처 (성/이름 조합)와 이벤트 (이름/날짜 조합)를 검색 할 수있는 일종의 양식을 사용하고 싶습니다. 목록 (결과를 구별하기 위해 다른 모든 정보도 표시되는 곳)에 추가 정보를 추가하고 제출을 누르십시오.

가장 가까운 사용자는 ContactId 및 EventId를 수동으로 입력 할 수있는 양식입니다. 즉, 사용자가 먼저 다른보기로 이동하여 레코드를 검색하고 ID 번호.

  • FileMaker를 사용하여 내 비전에 더 가까이 접근 할 수있는 방법이 있습니까?

  • 예를 들어 C# 및 MsSQL을 사용하여 새 맞춤형 앱을 만드는 것이 더 좋을까요?

  • 그렇다면 계약자에게 어떻게 판매합니까? 이 경우에 첫 번째 상용 응용 프로그램이되므로 분명히 기존 제품을 선호하는 "안전 요소"가 있습니다. 그리고 새로운 앱을 처음부터 개발하는 데 시간이 오래 걸릴 것이므로 비용이 증가 할 것이라고 언급하지 않았습니다.

참고 : FileMaker에 대한 이전 경험이 없습니다. 설명서를 읽으려고했지만 특정 요구 사항에 더 가까이 다가 갈 수있는 자습서를 찾을 수 없었습니다. 필자는 MsSQL에 대해 상당히 숙련 된 기술을 보유하고 있습니다. 따라서 FileMaker뿐 아니라 데이터베이스 관리에 대해서도 잘 알고 있습니다.

답변

4

많은 방법이 있습니다. 이것이 작동하도록하는 빠른 방법입니다.

의가이 같은 두 개의 테이블이 있다고 가정 해 봅시다 :

Contacts  Events 
--------  -------- 
ContactID EventID 
FirstName EventDate 
LastName  EventDetails 

또한 당신이 원하는 추가 RSVP 정보를 저장 그들 사이에 새로운 링크 테이블을 작성합니다.

Contacts 
-------- 
cMatchField = Calculation, Stored, (FirstName + NEWLINE + LastName + NEWLINE + ALL + NEWLINE + Firstname LastName) 

Events 
-------- 
cMatchField = Calculation, Stored, (EventDate + NEWLINE + EventDetails + NEWLINE + ALL) 

이 연락처에 대한 cMatchField은 다음과 같이 보일 것을 의미합니다 :

RSVP 
-------- 
fk_ContactID 
fk_EventID 
PaymentInfo 

FORM 
-------- 
ContactSearch 
cContactMatch = Calculation, If(isEmpty(ContactSearch) ; "ALL" ; ContactSearch) 
EventSearch 
cEventMatch = Calculation, If(isEmpty(EventSearch) ; "ALL" ; EventSearch) 

연락처 및 이벤트 테이블에 다음 필드를 추가 FORM 테이블을 작성

John 
Smith 
John Smith 
ALL 

관계 다이어그램에서 다음과 같이 표를 연결하십시오.

FORM 
-------- 
cContactMatch = CONTACTS/cMatchText 
cEventMatch  = EVENTS/cMatchText 

FORM 테이블을 기반으로 FORM이라는 레이아웃을 작성하십시오.

레이아웃에 ContactSearch 및 EventSearch 필드를 추가하십시오.PaymentInfo 필드를 추가하십시오.

두 개의 PORTALS를 레이아웃에 추가합니다. 하나는 Contacts 테이블 용이고 하나는 Events 용입니다.

기본적으로 각 포털의 모든 레코드가 표시되어야합니다.

검색 필드 중 하나가 종료/수정 일 때마다 레이아웃을 새로 고치는 스크립트를 작성하거나 스크립트 트리거를 사용하십시오. 이렇게하면 포털이 새로 고쳐 져야하며 관심있는 관련 레코드가 표시됩니다.

포털의 각 행에 버튼을 추가하고 글로벌 변수를 해당 포털 행 ID로 설정하는 스크립트를 호출하십시오. 예를 들어

:

Script: Set Selected Contact ID 
Set Variable ($$ContactID ; Contacts::ContactID) 

Script Set Selected Event ID 
Set Variable ($$EventID ; Events::EventID) 

는 레이아웃과 새 스크립트로 다른 버튼을 추가합니다.

피.

그리고 다시 연락처, 이벤트를 검색하고 양식을 제출하여 추가 RSVP를 만들 준비가되어 있어야합니다.

FileMaker는 재미 있습니까?

+0

와우! 필자는이 프로젝트에서 FileMaker를 사용하는 유일한 이유는 코드를 직접 작성하지 않아도되고 이미 안정화되고 버그가 제거 된 일부 소프트웨어에 의존 할 수 있기 때문이라고 생각했습니다. . 이 "실제 프로그래밍"이 많이 필요하다면 익숙한 기술을 사용할 수도 있습니다. C#과 MSSQL, 여기에 우리가 간다 ... =)하지만 어쨌든, 시간과 노력에 많은 감사드립니다! 당신은 이제 보상을 받았습니다! =) –