Frage

Ich habe für die Erstellung einer ziemlich einfache Datenbank App suchen in Filemaker gefragt. Die Anwendung wird Kontaktinformationen verarbeiten, einige Informationen über Ereignisse, die von der Organisation gehostet und - und das ist, wo ich zur Zeit zu kämpfen -. RSVP Informationen, die die Kontakte und Ereignisse verbinden, sowie speichert einige Daten über die Zahlung

Was würde Ich mag verwenden, ist eine Art von Form, wo der Benutzer für einen Kontakt (beliebige Kombination aus Vor- / Nachnamen) und ein Ereignis (jede Kombination aus Namen / Datum) suchen wird, wählen Sie die jeweils von zwei entsprechenden Listen (wo alle anderen Informationen werden auch angezeigt, um die Ergebnisse zu unterscheiden), fügen Sie einige zusätzliche Informationen und schlagen vor.

Die nächstgelegene ich bisher bekommen habe ist eine Form, wo der Benutzer manuell einen ContactID und EventId eingeben kann, was bedeutet, dass er / sie muss zuerst in einer anderen Ansicht gehen, für die Datensätze suchen, und copy / paste der ID Zahlen.

  • Gibt es wirklich keine Möglichkeit, näher an meine Vision zu bekommen Filemaker verwenden?

  • wäre eine bessere Option sein, eine neue, benutzerdefinierte App zum Beispiel C # und MsSQL zu bauen?

  • Wenn ja, wie verkaufe ich das meinen Auftragnehmer? Da dies wäre meine erste kommerzielle Anwendung in diesem Fall sein, gibt es offensichtlich einen „Sicherheitsfaktor“, die für ein etabliertes Produkt spricht. Und dann haben wir noch nicht einmal erwähnt, dass die Kosten würden wahrscheinlich zunehmen, da eine neue App von Grund auf neu zu entwickeln viel längere Zeit dauern würde.

Hinweis: Ich habe keine Erfahrung mit Filemaker. Ich habe versucht, die Dokumentation zu lesen, aber ich habe keine Tutorials zu finden in der Lage, die mich nehmen näher an meine Bedürfnisse. Ich bin ziemlich in MsSQL erlebt, so dass ich dies weiß und dass über Datenbank-Management im Allgemeinen -. Einfach nicht in Filemaker

War es hilfreich?

Lösung

Es gibt viele Möglichkeiten, es zu tun. Dies ist ein schneller Weg, um es zu bekommen zu arbeiten.

Angenommen, Sie haben zwei Tabellen wie folgt aus:

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

eine neue Verknüpfungstabelle zwischen ihnen, die auch speichert die zusätzliche RSVP Informationen, die Sie wollen.

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

Erstellen Sie ein Formular Tabelle

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

Fügen Sie die folgenden Felder auf die Kontakte und Veranstaltungen Tabellen:

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

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

Das bedeutet, dass die cMatchField für Kontakte etwas wie folgt aussehen:

John
Smith
John Smith
ALL

Im Beziehungsdiagramm, schließen Sie die Tabellen wie folgt aus:

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

Erstellen Sie ein Layout genannt FORM auf der Grundlage der FORM-Tabelle.

Fügen Sie die Felder Kontaktsuchen und Event an das Layout. Fügen Sie das Feld Payment.

In zwei PORTALEN das Layout, eine für die Kontakte Tisch, eine für die Ereignisse.

Standardmäßig sollten Sie alle Datensätze in jedem dieser Portale sehen.

Schreiben Sie ein Skript oder einen Script-Trigger verwenden, die das Layout aktualisiert, wenn eine dieser Suchfelder wird Exited / geändert. Dies sollte die Portale aktualisieren und zeigen Sie die zugehörigen Datensätze, die Sie interessieren.

In jeder Zeile eine Schaltfläche in den Portalen und ein Skript aufrufen, die eine globale Variable in diesem Portal Reihen ID setzt.

Zum Beispiel:

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

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

Fügen Sie eine weitere Taste, um das Layout und ein neues Skript.

Script: Create RSVP
# Check that a contact and event have been selected
If(isEmpty($$ContactID) or isEmpty($$EventID)
    Exit Script
End If
# Get the payment info that has been entered
Set Variable ($PaymentInfo ; FORM::PaymentInfo)
# Create the RSVP Link record
Go To Layout(RSVP)
Create New Record
Set Field(fk_ContactID ; $$ContactID)
Set Field(fk_EventID ; $$EventID)
Set Field(PaymentInfo ; $PaymentInfo)
Commit Records
Go to Layout (Original Layout)
# Clear the search fields
Set Field(PaymentInfo; "")
Set Field(ContactSearch; "")
Set Field(EventSearch; "")
Set Variable($$ContactID; "")
Set Variable($$EventID; "")
Commit Records
Refresh Screen

Puh.

Und Sie sollten zurück, bereit sein, für Kontakte, Veranstaltungen zu suchen, und auf „Senden“, um die Form mehr RSVPs zu erstellen.

Filemaker ist Spaß, nicht wahr?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top