変数を連続して格納する場合にカンマ区切りをつけたいときは?

解決


  2006-07-07 23:57:46  No: 132272

前のログ↓
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200607/06070021.txt

こんにちは良です。いつもお世話になっております。
動作環境はVB.NET2003 WinXpです。
今やっているソースを載せます。

            'スプレッド
            With Me.setNameList

                'チェックボックスにチェックがされていたら変数にはそこの列の1列目の値(社員ID)を格納
                For intX = 1 To intDataCnt

                    '列の設定
                    .Col = 4
                    .Row = intX

                    'チェックが入っていた場合
                    If .Value = True Then
                        'チェックが入っていた項目の一列目の社員IDを格納する
                        .GetText(1, intX, objVal)
                        nameChk &= CInt(objVal)

                        objVal = Nothing
                    End If

                Next
            End With

この場合にnameChkの変数にobjValからとってきた値を格納するんですが
nameChkに「1001」と「1006」を格納する場合に「10011006」
となってしまいます。これを「1001,1006」としたい場合にどうすれば
よろしいでしょうか?
普通にnameChk & "," &=CInt(objVal)
とやったら波線が出てしまいました。


  2006-07-08 00:01:51  No: 132273

あ!カンマをつけたいなら

nameChk &= CInt(objVal)

より
nameChkをString型にして

nameChk &= CStr(objVal)
にしないとエラーになりますか?


旅芸人  2006-07-08 00:46:23  No: 132274

変数 &= 社員コード & ","じゃ駄目ですか?
↑でOKな場合、右端に","が付加されるので「Microsoft.VisualBasic.Left」
を使用して、必要な分だけ切り出してください。

あとは、動的配列に格納してJOIN関数でつなげるとか・・・

以上です。お役に立てれば幸いです。


  2006-07-08 02:20:41  No: 132275

こんにちは良です。

>旅芸人さん

ありがとうございました
どうやら型をInteger型にしたから
カンマは消されてたみたいです。
String型にしたらうまくいきました。

どうもありがとうございましたm(__)m


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加