• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:リストボックス)

データベースのリストボックスに表示する際の旧姓の頭をそろえる方法

このQ&Aのポイント
  • データベースに格納されている顧客名と旧姓のデータをリストボックスに表示する際、旧姓の表示が見た目的に揃っていない場合、LSETを使用しない方法を探しましょう。
  • 現在の処理では、顧客名と旧姓を変数に格納し、それをリストボックスに表示しています。しかし、LSETを使用すると、データの長さによって文字が揃わなくなることがあります。
  • 代わりに、リストボックスに表示する前に旧姓のデータを調整する方法を考えましょう。例えば、旧姓を固定長の文字列に変換し、不足部分を空白文字で埋めると、見た目的に揃った表示が実現できます。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

VBに限らず、文字列に2項目を縦に揃えるのは、私の経験では2通りのやり方があると思います。ご参考までに。 (1)第1項目(新姓)の文字数を割り出して、一定文字数より引き、その長さのスペースを詰めこむ。その後旧姓をくっ付ける。 c=a & spc(10-lenb(a)) & b (2)cという一定桁(例えば20バイト)の文字列を用意する。そしてaとbをcにはめこむ。aは1バイト目から、bを11バイト目からはめこむ。mid$(c,1,lenb(a))=a mid$(c,11,lenb(b))=b 場合によってはTrimが必要なケースがあろう。 #1のご解答のように、半角全角には気をつけましょう。 len,lenb,mid,midbにはややこしいので間違っていたらご免。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.3

List1.AddItem A & vbTab & B のようにTABを入れてみてください。 TABの幅を変えたいときはAPIで設定します。

すると、全ての回答が全文表示されます。
  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

 考え方だけ....コードは自分で考えて下さいね。 >.List1.AddItem A & B  この部分で、  Aの文字数を数えて、規定の文字数(例えば、データベースのフィールド長)に足りない文字数を、空白(例だと全角文字)追加して、B(旧姓)を付加すれば、見た目ある程度揃います。  ただし、フォントの問題があるので、多少ずれが生じる可能性があります。それが許せない場合には、リストボックスの使用を止める方向で検討しなければいけません。ちょっとテクニックが必要になります。

すると、全ての回答が全文表示されます。

関連するQ&A