Access データベースに接続するために ADO コンポーネントを使用しています。幅 50 のテキストとして定義された列では、実際の文字列値に含まれる文字数がそれより少ない場合でも、データベース対応テキストフィールドは常に 50 文字を表示します。値はスペースで埋められ、テキストフィールドの幅が十分でない場合、空のように見えます。
手がかりを得た人はいますか?
ありがとう -ベガー
編集: Delphi 2007 を使用しています。
Access データベースに接続するために ADO コンポーネントを使用しています。幅 50 のテキストとして定義された列では、実際の文字列値に含まれる文字数がそれより少ない場合でも、データベース対応テキストフィールドは常に 50 文字を表示します。値はスペースで埋められ、テキストフィールドの幅が十分でない場合、空のように見えます。
手がかりを得た人はいますか?
ありがとう -ベガー
編集: Delphi 2007 を使用しています。
この問題は、テーブルの作成時に Varchar(50) の代わりに Char(50) を使用した場合に発生します。
パディングされていない値を表示する方法が必要だと思いますが、varchar に切り替えても問題ありません。
クエリまたはテーブル コンポーネントを使用していますか? クエリを使用している場合は、列名をTrim()に埋め込むだけです。そうでない場合は、問題のフィールドで OnGetText イベントを使用して、次のコードを挿入します。
Text := Trim(Text);
どのバージョンの Delphi ですか?
また、アクセス データベースのフィールド設定ではないでしょうか。