2013-07-19 52 views
1

我正在FileMaker 12中構建一個數據庫,其中包括保存作業列表(由數字ID表示)以及具有該作業的計費時間的員工。Filemaker 12 - 顯示一個值,存儲另一個值

考慮三個表:

Employee (empName, empID, salary, ...) 
JobHours (empID, jobID, hrsWorked, ... , refID) 
JobCost (jobID, expenses, profit, ... , refID) 

其中:

員工是我的人員名單相匹配的名字,以數字的員工ID和統計(工資等);

JobHours是員工參與的列表 - 當員工在工作中花費時間時,該表中有一行顯示他們的ID,工作ID,工作小時數和其他一些事情;

JobCost是工作的日常記錄。此表中的一個條目是指一天中單個作業的活動。此外,每個條目都會得到一個系統生成的與JobHours相關的唯一ID(因爲任何一個jobID和日期都是唯一的),從而生成一個特定日期的特定工作的工作清單。

我有一個表單顯示來自JobCost的記錄。對於每條記錄,我都可以在門戶中看到,顯示當天從事這項工作的JobHours的記錄。

現在,這個問題。

在我的門,我想有從值列表拉僱員姓名的下拉列表中創建下列標準JobHours記錄:

1)我需要它是一個下拉而不是彈出式菜單,所以它會響應鍵盤的自動填充。下拉菜單將顯示值列表中的次級值(員工姓名),同時將其下拉,並且會正確響應次級值上的鍵盤自動填充,但是一旦您做出選擇,它只會顯示主要值(員工ID)。

2)我需要它始終顯示名稱,而不是ID。彈出窗口完美地實現了這一點。但是,它似乎沒有響應鍵盤輸入autocompletes。

3)我需要存儲數字ID而不是名稱。

我知道如何一次滿足這兩個標準中的任何一個,但僅此而已。否則整個數據庫工作得很好。這種行爲是可能的嗎?

+0

在我的FMPA 12 v3(Mac)副本上,我發現可以輸入下拉列表和彈出菜單。也許檢查FileMaker的副本是否是最新的? – pft221

+0

剛剛確認我是最新的 - FMP 12.0v4,當我檢查時沒有更新可用。它可能是Pro和Advanced之間的區別嗎? – qrab

+0

對我來說似乎不太可能,但這是可能的。也許嘗試從網站上獲得高級演示,看看是否能解決問題。也嘗試在不同的計算機上 - 也許一些設置已損壞你的。你在Mac或Windows上? – pft221

回答

2

一個常見的技術是使用兩個字段,一個直接在另一個之上。

在底部,將您的JobHours :: EmpID字段。將其設置爲包含您指定的值列表的下拉列表。

在JobHours :: EmpID字段的頂部放置相關的Employee :: EmpName字段。設置該字段,以便它不能以瀏覽或查找模式輸入。

現在您的用戶將看到員工姓名,但是當他們點擊該點擊時,將通過頂部字段進入員工ID字段,他們將從值列表中選擇姓名。

+0

我確實嘗試過,因爲@Chuck下面提到它有點不雅。如果我在第二天沒有提出任何其他事情,那麼我可能會回到此處,在這種情況下,將其標記爲答案。 – qrab

0

pft的解決方案是我長期使用的解決方案,但我仍然覺得它不夠優雅,因爲用戶在更改值時仍然會在字段中看到現有的id號。

如果提前輸入很重要,我會使用彈出菜單。一旦菜單被激活或者通過點擊或點擊進入,用戶可以通過鍵盤進行輸入,選擇將根據輸入的內容而改變。

+0

您和@ pft221同意彈出窗口應該對自動填充作出響應。有沒有我可以錯過的切換?它似乎不適合我。 – qrab

+0

好吧,它不是完全*自動完成的,但是當我在FileMaker 12中創建了一個快速測試(帶有一個靜態值列表(亞利桑那州,加利福尼亞州,紐約)和一個與它關聯的字段作爲彈出菜單時,我可以點擊進入現場調出菜單並輸入「C」來選擇California。所以它沒有像選擇最接近的匹配那樣完成內容。 – Chuck

0

我來到這個線程尋找解決這個相同的問題(允許用戶從列表中選擇,顯示他們的選擇,而是存儲相關的值)。例如,從下拉列表中選擇一個植物物種名稱,在下拉字段中顯示植物物種名稱,但要保存分類序列號(TSN;這些年來更可能保持相同)。這在MS Access中很容易實現,但在FMP12中花費更多的時間來完成。

我如何解決它: 我在表中創建了兩個字段,它們將存儲值:Plant_TSN和Plant_SciName。這兩個字段中的值之間必須存在關係。就我而言,我在查找表中爲每個TSN存儲一個SciName。然後,我在佈局中創建了兩個字段,每個字段都有一個字段。

想要存儲的值(例如Plant_TSN): 使相應的佈局字段成爲下拉菜單幷包含顯示/隱藏箭頭。編輯值列表,您將填充下拉列表以顯示第二個(閱讀器友好)列,但存儲第一列值。在佈局中縮小字段以僅顯示箭頭。

對於您希望用戶看到的字段(例如Plant_SciName): 使其他佈局字段成爲編輯框並防止在瀏覽或查找模式下輸入字段。但它與上一步中創建的下拉箭頭相似,使其看起來像一個字段。

最後,早在第一場(箭頭僅下拉)寫一個腳本,當用戶醜(Plant_TSN)值的下降是採摘下來的用戶友好的數量(Plant_SciName)推到編輯框中。我使用了下拉格式化字段的OnObjectSave腳本觸發器。腳本應該是1)凍結窗口,2)轉到相關記錄(基於查找表3中的關係)設置字段(即編輯框)和4)GotoLayout [原始]來抵消凍結。

大概不是一個完全清楚的解釋,但我敢打賭你會在第三次閱讀時獲得它!我會張貼截圖,但我顯然需要10個「信譽點」。

乾杯。

+0

感謝您花時間輸入此內容。足夠的時間過去了,我不記得我的確切解決方案,但這聽起來大致類似於我所做的。最好是一個雜種,但它運作得很好,客戶似乎很滿意。 – qrab

相關問題