2011-03-23 49 views
0

我有相當的要求。開發人員創建了具有多個佈局的數據庫,其關係樹非常混亂。如果有另一位開發人員進來,請看看它,他說,解構我們的系統太耗費時間和痛苦,現在考慮創建一個腳本,以便您可以解決它,直到它可以修復。這是一個兩難的問題:我在一個頁面上獲得了信息,它應該使用標籤和門戶來引用許多不同頁面上的信息。但是,所有信息都鏈接到用戶名。這個用戶名不是靜態/序列化的或你有什麼。因此,如果問題沒有立即得到解決,大量的信息可能與這個人的「頁面」相關聯。如果名稱不正確,有人試圖更改用戶名,則會中斷該關係並開始新的用戶名。這些信息並沒有消失,但它基本上處於某個地方,直到您將名稱更改爲原始名稱。實際上,我嘗試導出信息,更改不匹配的信息,即將名稱從Jon.Smith更改爲John.Smith,然後將信息導入到該人員的新頁面,但結果不成功。這讓我想到我的問題,腳本能夠解決這個問題嗎?同樣,有沒有建議如何創建這個腳本?我很抱歉,但我對DataBase管理的經驗很少,我不確定爲什麼這個項目會落到我身上。任何幫助將不勝感激。如何在FileMaker表中創建新主鍵,然後將現有關係修改爲基於新創建的鍵?

回答

0

好吧,作爲一般的答案,幾乎任何用戶可以在FileMaker中做的事情(用戶,我的意思是非開發人員,因此諸如定義數據庫結構,編寫腳本等活動都被排除在外)可以編寫腳本。所以,如果你能夠通過重置字段的值來「解決」問題,那麼,是的,腳本可以做到這一點。

關於您的具體問題,腳本可能不需要導出記錄,但可以重置FileMaker中該字段的值。這可以通過循環遍歷需要更改的記錄或使用「替換字段內容」腳本步驟來完成。因此,一個腳本可以做這樣的事情:

Go to Layout[MyLayout] // Go to a layout that is attached to the table you need to search. 
Perform Find[Restore] // Restore a find that will show the records you need to change. 
Replace Field Contents[Table::Field; "New Value"] 

提供比這需要實際看到的數據庫,並瞭解更多關於您的具體需要更多的建議。

+0

感謝您的回覆。基本上我們的數據庫被用來持有學生項目的學分以及學生的進步。我們理想地希望它做的事實際上就是將這些項目以及錯誤地拼寫錯誤的名稱拼寫成正確拼寫的名稱。 – wchsTech4 2011-03-30 14:20:24

0

wchsTech4,你很幸運,因爲你的問題很容易解決。你甚至不需要腳本。

備份您的文件首先。然後:

1)創建兩個新領域:

  • ID(人臺)的ID
    • 選項:自動輸入序列號
  • 爲person_id(與人表)

2)爲person表中的新id字段生成序列號。

  • 導航到人員佈局。
  • '記錄'>'顯示所有記錄'
  • 單擊ID字段並選擇'記錄'>'替換字段內容'。
  • 選擇'用序列號替換'並接受默認值。請務必選中此框以更新您的下一個序列號。

3)將您剛剛生成的序列號放在相關表中。

  • 導航到相關的佈局。
  • '記錄'>'顯示所有記錄'
  • 點擊person_id字段並選擇'記錄'>'替換字段內容'。
  • 選擇'用計算結果替換'旁邊的'指定'。
  • 在左上角的下拉列表中,選擇相關人員表格。
  • 雙擊id字段(您的計算應該是person :: id,用人名替換爲您的表名)。
  • 點擊「確定」,然後點擊「替換」。

4)改變關係。

  • 選擇'文件'>'管理'>'數據庫'。
  • 導航到關係選項卡。
  • 將關係從名稱改爲id。

5)測試一切。應該管用。

您的相關記錄有可能以這種方式創建,您還需要修改腳本,網站或其他未在此提及的其他內容以使您的修復工作繼續進行。這對調查很重要。

+0

我試圖通過這個工作,並來到一個可能的障礙。如果爲人員佈局生成的序列號與相關表格的順序不同,是否會產生問題?同樣,由於有人,相關表格的相關記錄數量已超過20倍。它被用於持有學生轉入的項目所獲得的學分,以及對其進度的評估(2個單獨的表格)。 Evals每週完成一次,而他們正在做的項目每週可能超過20個,這可能需要大量需要移動並連接在一起的數據。 – wchsTech4 2011-03-30 12:57:35

+0

感謝您的回覆和幫助 - 不能適應這種情況。 – wchsTech4 2011-03-30 12:59:54

+0

等等,讀錯了,我已將新生成的序列號放在每個相關的表上。仍試圖通過這個工作。到目前爲止,串行#正在工作,每個項目/評估都顯示正確的序列號。 – wchsTech4 2011-03-30 14:24:51

相關問題