OpenOfficeBasicで家計簿(会計っぽやつ) part2

part2で問題だったやつが解決しました.
サブフォームを扱うための基本は,フォームナビゲータボタンを押して,フォームツリーを表示させて,そのなかで,メインフォームを右クリックすると「新規作成-フォーム」ができて,サブフォームを作成できます.Accessと違って,GUI上に明示的にサブフォームが表示されるわけではなくて,このフォームナビゲータ上のツリーに表示されているフォームを指定しながら各種コントロールを配置します.たとえば,テーブルコントロールなどには,リンク先,リンク元プロパティが存在するので,それをあわせることでメインフォームのレコードと連結することが可能です.で,仕訳テーブルの変更と勘定テーブルのリレーションを間違えていたので下記に新しいリレーションを表示しておきます.


で,仕訳テーブル+借方テーブル+貸方テーブルを仕訳IDで連結したフォームは下記のようになります.


さて,もうひとつノウハウを.上記において,勘定IDは,勘定名が表示されています.テーブル的には,勘定IDでつながっているんですが,表示を勘定名にしています.これができるのは,リストボックスのみです.リストボックスのデータソースをsqlで指定して,関連あるフィールド=1としています.Sql文は,"select 勘定名,勘定ID from 勘定"としてやると勘定名が表示されるけど,保存されるのは,勘定IDになるわけですね.コンボボックスでもできるものだと思って,一生懸命やっていたら,リストボックスしかできないことに30分後に気がついた...orz.

ここまで,一切ソースを書かずにできた.Accessと違うのは,ボタンのウィザード系が余り充実していないこと.次のレコードボタンとかデフォルトで用意してほしいんだけどなぁ.

あとは,貸方と借方の合計が一致するチェックと損益計算書貸借対照表を作れば,OK.たぶんここからは,basicにお世話になりそう.