1

クレジット/デビット取引を入力するためのフォームを作成しているので、PostgreSQL に 2 つのテーブルがあります

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 をリストする 1 つのテーブル コントロールと、選択のためにそのコントロールを参照するサブフォームを含むフォームを作成しました。

サブフォーム内には、別のテーブル コントロールがあり、マスターで選択されたエントリとの照合後dateに 、credittextおよびが表示されます。amountdebit

これまでのところ、それは機能しますが、credit列には数値フィールド内に数値の外部キー データがあります。その場所でアカウントを選択できるドロップダウン フィールドが必要です。

それは可能ですか、それともクエリから入力された読み取り専用テーブルとサブサブフォームの個別の編集フィールドを使用したフォールバック ソリューションを使用する必要がありますか?

4

1 に答える 1

2

LibreOffice で動作する機能はリストボックスです。難しいのは、グリッド/テーブル コントロールの個々のフィールドがフォーム ナビゲーターに表示されないことです。ただし、編集モードに移動し、グリッドのヘッダー行/列セレクターを右クリックすると、グリッドのフィールドのタイプをリストボックスに変換できます。ドロップダウン メニューで、[置換] と [リスト ボックス] を選択します。グリッドのフィールド/列がリスト ボックスになりました。

次に、「コントロール」ダイアログを開き、リストボックスに変更したグリッドの適切なヘッダー/列セレクターをもう一度クリックします。「データ」タブに移動します。「リスト コンテンツのタイプ」で「テーブル」を選択し、「リスト コンテンツ」で外部キー テーブルを選択します。「バインドされたフィールド」の値が「1」の場合、ドロップダウン リストはリスト ソースの最初の列を表示し、2 番目の列の値を使用して、リスト ボックス コントロールに表示されるデータ ソースを設定します。

見栄えを良くするために、コントロール ボックスの [一般] タブで、[ドロップダウン] オプションから [はい] を選択します。

上記の手順により、使い慣れたコンボボックスと UI でほとんど見分けがつかない機能が提供されます。LO で「コンボボックス」機能を直接試すこともできますが、そのフィールド タイプのサポートはそれほど強力ではありません。

于 2015-01-29T14:24:37.303 に答える