2014-03-05 18 views
1

我建設進入信用卡/借記卡交易形式,所以我必須在PostgreSQL的更換與下拉數字外鍵的LibreOffice基地

accounts 
    id  INTEGER PRIMARY KEY 
    name VARCHAR(128) 

ledger 
    id  INTEGER PRIMARY KEY 
    credit INTEGER NOT NULL REFERENCES accounts 
    debit INTEGER NOT NULL REFERENCES accounts 
    date DATE NOT NULL 
    amount NUMERIC(8,2) 
    text VARCHAR(128) 

我建立了一個表格一個表格控制兩個表,列出accounts.name和引用該控件以供選擇的子表單。

窗體裏面有另一個表控制,顯示匹配debit針對在主所選擇的條目後datecredittextamount

到目前爲止,該工作,但credit列具有數字字段內的數字外鍵數據。我希望有一個下拉字段,允許我選擇一個帳戶。

這是可能的,或者我應該尋找一個只包含查詢的只讀表的回退解決方案,並在子表單中單獨編輯字段?

+0

'credit INTEGER NOT NULL REFERENCES accounts' - >>'credit INTEGER NOT NULL REFERENCES accounts(id)',and deferred for debit。 – wildplasser

+0

@wildplasser,已經工作(至少Postgres自動使用主鍵如果沒有指定列)。主要的問題是在LibreOffice中做適當的UI。 –

回答

1

在LibreOffice中工作的功能是一個列表框。棘手的是,網格/表格控件上的單個字段不會顯示在表單導航器中。但是,您可以通過編輯模式並右鍵單擊網格的標題行/列選擇器,將網格上的字段類型轉換爲列表框。在下拉菜單中,選擇「替換爲」和「列表框」。現在網格中的字段/列是一個列表框。

然後打開「控制」對話框,然後再次單擊網格中相應的標題/列選擇器,該選擇器剛剛更改爲列表框。轉到「數據」選項卡。在「列表內容類型」下選擇「表格」和「列表內容」選擇外鍵表格。在「綁定字段」的值爲「1」的情況下,下拉列表將顯示列表源的第一列,並且它將使用第二列的值來填充列表框控件中顯示的數據源。

爲了更好的美觀,在控制框中的「常規」選項卡上的「下拉」選項中選擇「是」。

上述步驟將提供大多數用戶界面與熟悉的組合框無法區分的功能。您也可以直接在LO中嘗試「組合框」功能,但對該字段類型的支持不夠強大。