[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/08/06(Sat) 15:44
投稿者名:すぐる
Eメール:
URL :
タイトル:
テキストボックスをリスト形式に見せたい
データベースからデータを取得しています。
グリットのような、リスト形式の帳票ではなく、テキストボックスにリスト
みたいな形で設定したい。
また、収まりきらない場合は、縦、横のスクロールバーで移動できるように
したいのですが、可能なのでしょうか。
または、簡単にできるものがあるのでしょうか。
サンプル等を教えていただきたい。

投稿時間:2005/08/06(Sat) 18:32
投稿者名:すぐる
Eメール:
URL :
タイトル:
Re: 解決いたしました。
解決いたしました。

投稿時間:2005/08/06(Sat) 18:41
投稿者名:すぐる
Eメール:
URL :
タイトル:
Re^2: Space
Space関数を使用して、書式を整えて、テキストボックスに設定しているのですが、
上手く思ったとおり整列してくれません。

AAAA     :BBBB
AAAA       :CCCC

AAAA   :AAAA
AAAA     :DDDDD
となってしまいます。
何故なのでしょうか。


Private Sub Command3_Click()
Dim str As String

str = fSpace_Set(Trim(objDs(0).Value), 60)

Text2.Text = Text2.Text & str &":" & objDs(1).Value & Chr(13) &
; Chr(10)

End Sub


Private Function fSpace_Set(ByRef myString As String, StrMaxLen As Integer) As String
' @(f)

    Dim strTemp As String
    Dim strLen  As Integer

    strTemp = ""
    strLen = 0

    If myString <> "" Then
        strLen = LenB(myString)
        strTemp = myString & Space(StrMaxLen - strLen)
    End If
    fSpace_Set = strTemp
End Function

投稿時間:2005/08/06(Sat) 18:44
投稿者名:すぐる
Eメール:
URL :
タイトル:
Re^2: 【続き】Space関数を使って書式を整列
先ほどの質問と処理が関係しているので、本ツリーに書きます。

Space関数を使用して、書式を整えて、テキストボックスに設定しているのですが、
上手く思ったとおり整列してくれません。

AAAA     :BBBB
AAAA       :CCCC

AAAA   :AAAA
AAAA     :DDDDD
となってしまいます。
何故なのでしょうか。


Private Sub Command3_Click()
Dim str As String

str = fSpace_Set(Trim(objDs(0).Value), 60)

Text2.Text = Text2.Text & str &":" & objDs(1).Value & Chr(13) &
; Chr(10)

End Sub


Private Function fSpace_Set(ByRef myString As String, StrMaxLen As Integer) As String
' @(f)

    Dim strTemp As String
    Dim strLen  As Integer

    strTemp = ""
    strLen = 0

    If myString <> "" Then
        strLen = LenB(myString)
        strTemp = myString & Space(StrMaxLen - strLen)
    End If
    fSpace_Set = strTemp
End Function

投稿時間:2005/08/07(Sun) 00:28
投稿者名:Starfish
Eメール:
URL :
タイトル:
Re^3: 【続き】Space関数を使って書式を整列
障害、うまく動かないような場合は、VBのバージョン&SP、実行時のOSの種類(バージョン)
&SPは、記載してください。

> Space関数を使用して、書式を整えて、テキストボックスに設定しているのですが、
> 上手く思ったとおり整列してくれません。
>
> AAAA     :BBBB
> AAAA       :CCCC
>
> AAAA   :AAAA
> AAAA     :DDDDD
> となってしまいます。

 プログラム(コード)もそうですが、「コード投稿モード(図表モード)」で投稿しないと
スペースがカットされて非常にわかりずらいです。今後、気をつけてください。

 又、下のコードを見ると、左側がすべてAAAAというデータでは、整列するのではないで
しょうか、例として書くなら実際に現象が発生した(する)データを記載してください。

 何故なのでしょうか。

>         strLen = LenB(myString)

     strlen = LenB(StrConv(mystring, vbFromUnicode))

 のように直してみてください。

 VBの文字列は、UNICODEです。LenBは、半角文字でも、1文字は2バイトになります。

hhttp://www.bcap.co.jp/hanafusa/VBHLP/mozi_nagasa.htm

投稿時間:2005/08/07(Sun) 01:40
投稿者名:すぐる
Eメール:
URL :
タイトル:
Re^4: 【続き】Space関数を使って書式を整列
>VBのバージョン&SP、実行時のOSの種類(バージョン)&SPは、記載してください。
>プログラム(コード)もそうですが、「コード投稿モード(図表モード)」で投稿しないと
以後、気をつけます。

LenBは全体のバイト数を得ると思っていたので、半角は1バイト、全角は2バイトで
カウントするものだと思っていまた。
とんでもない誤りです。

教えて頂いた方法で試して見ます。

投稿時間:2005/08/07(Sun) 09:59
投稿者名:すぐる
Eメール:
URL :
タイトル:
Re^4: 【続き】Space関数を使って書式を整列
ありがとうございます。

正しく文字列の長さが取得できました。
しかし、テキストボックスに設定し、「:」の位置が一定
しません。

文字列は、半角、全角、英数字等が入り混じったものです。

オレンジ・みかん      :アメリカ・日本
グレープフルーツ           :アメリカ
バナナ          :アフリカ
梨                :日本
苺                :日本
グレープ・ぶどう       ;ヨーロッパ

フォントとかの影響もあるのでしょうか。

投稿時間:2005/08/07(Sun) 12:16
投稿者名:Starfish
Eメール:
URL :
タイトル:
Re^5: 【続き】Space関数を使って書式を整列
> フォントとかの影響もあるのでしょうか。

 「MS ゴシック」「MS 明朝」を使えば、ほぼOKですが、OSや画面のDPI値
によって、微妙にずれる場合(全角文字のドット数が奇数になる場合)があります
ので、フォントサイズは、9ポイント、または、12ポイントあたりにしておいて
ください。

投稿時間:2005/08/07(Sun) 15:13
投稿者名:すぐる
Eメール:
URL :
タイトル:
Re^6: 【続き】Space関数を使って書式を整列

>「MS ゴシック」「MS 明朝」を使えば、ほぼOKですが、OSや画面のDPI値
> によって、微妙にずれる場合(全角文字のドット数が奇数になる場合)があります
> ので、フォントサイズは、9ポイント、または、12ポイントあたりにしておいて
> ください。

Starfishさん
ありがとうございます。

上手く、整列して表示できました。