質問する
0

Firebirdのデータベースフォームで複数行のテキスト入力ができない

質問日 2020-05-18 02:37:19 +0200

ukituriboku のGravatar画像

updated 2020-05-24 04:23:49 +0200

nogajun のGravatar画像

BaseでHSQLDBのLONGVARCHARというフィールドタイプは、Firebirdに変換すると長さ0のCLOB[BLOB]に変換されて、フォームでも改行を含むテキストを入力することができます。

しかし、Firebirdで新規にデータベースを作るときに、フィールドタイプにCLOB[BLOB]を指定してもフォームでテキストを入力することができません。

ただし、テーブルにはCtrl + Enterで改行を含むテキストを入力することができます。
Firebirdで新規データベースを作るときに、フォームに複数行のテキストを入力するにはどうしたらいいのでしょうか?

  • LibreOffice: 6.4.3
  • OS: Windows10
edit retag flag offensive close merge delete

Comments

問題解決ではなく、自分用のデバッグの手がかりメモ。

  1. VARCHAR型、CLOB型、BLOB型のフィールドを持つテーブルを作成。念のためにデータも作っておく。一度テーブルの定義、テーブルのデータそのもの、ファイル自体、それぞれの段階で保存してリロードする。
  2. Create Query in SQL View
  3. メインメニューからEdit->Run SQL directlyを選択する。
  4. 以下のコマンドを入力

    SELECT relfields.RDB$RELATION_NAME,relfields.RDB$FIELD_NAME,fields.RDB$FIELD_TYPE, fields.RDB$FIELD_SUB_TYPE FROM RDB$RELATION_FIELDS relfields JOIN RDB$FIELDS fields on (fields.RDB$FIELD_NAME = relfields.RDB$FIELD_SOURCE)

  5. RELATION_NAMEがテーブル名となっていて、FIELD_NAMEが自分が先程作成したフィールドの名前になっているものを探す。

  6. FIELD_TYPEやFIELD_SUB_TYPEを確認する。
  7. 状況確認のため、HSQLDBからFirebirdに変換したものについても同様のクエリを発行し、先程のデータと比較する。

参考として、Firebird - RDB$FIELDS を併用する。LibreOfficeで使っているFirebirdのバージョンによっては色々頭の中で補正が必要なこともあるかも?

himajin100000 のGravatar画像himajin100000 ( 2020-05-27 18:48:43 +0200 )edit

あんまり関係なかったかも。

https://opengrok.libreoffice.org/xref...

himajin100000 のGravatar画像himajin100000 ( 2020-05-30 22:51:23 +0200 )edit

1 Answer

0

回答日 2020-05-25 13:11:36 +0200

KWatanabe のGravatar画像

コントロール変換後、テキストタイプ変更をお試しください。

フォーム上では各コントロールがラベルとグループ化されているので まずは対象コントロールのグループ化を解除します(コントロールを右クリックして「グループ解除」)

続いて、入力するコントロールを選択し、右クリック → コントロール で確認すると CLOB[BLOB]型のフィールド入力用のフォームコントロールは「イメージコントロール」になっていませんか?

コントロールを「イメージコントロール」から「テキストボックス」に変換すると入力できると思います。

ちなみにフォームデフォルトでテキスト入力できるVARCHAR型の入力フォームコントロールは「テキストボックス」になるようです!

入力するコントロールを選択し、右クリック → 置換候補 → 「テキストボックス」で変換可能です テキストボックスのデフォルト値では1行しか入力できません

右クリック → コントロール → 全般タブ → テキストタイプ を「1行」から「複数行」に変更します フォーマット付き複数行 も選択できますが、何も表示されなくなります(使い方が分かりません)

Windows-10-64 LOバージョン: 6.2.7.1 (x64)

edit flag offensive delete link もっと

Comments

入力するコントロールを選択し、右クリック → 置換候補 → 「テキストボックス」に変換してから、

右クリック → コントロール → 全般タブ → テキストタイプ を「1行」から「複数行」に変更することで複数行のテキストを入力することができるようになりました。

ありがとうございました。

ukituriboku のGravatar画像ukituriboku ( 2020-05-25 14:34:32 +0200 )edit
ログイン/サインアップして回答する

質問ツール

2 followers

Stats

Asked: 2020-05-18 02:37:19 +0200

Seen: 81 times

Last updated: May 25