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

投稿時間:2004/10/21(Thu) 17:58
投稿者名:NM
URL :
タイトル:
ListViewのデータ表示について
こんにちは。
お世話になります。

既存のエクセルファイルを開いてデータを読み出し、ListViewに表示する時に
文字列のセルで[NULL]が返ってくるので、表示されません。
表示したい内容に数値データや文字列データなどが混在する場合、
どうしたらよいでしょうか?ご存知の方いらっしゃいましたら、ご教授願います。
よろしくお願いします。

↓行っている処理です。
Public Sub data_display()
    Dim DB As Database
    Dim RS As Recordset
    Dim FILE As String
    Dim i As Integer

    FILE = "Excel 8.0;DATABASE=" & "C:\test\sample.xls"
    Set DB = OpenDatabase("C:\test\sample.xls", False, False, FILE)
    Set RS = DB.OpenRecordset("Sheet1$", dbOpenTable)

    ListView1.ListItems.Clear
    ListView1.ColumnHeaders(1).Width = 0
    ListView1.ColumnHeaders(2).Width = 700
    ListView1.ColumnHeaders(3).Width = 4500
    ListView1.ColumnHeaders(4).Width = 1500
    ListView1.ColumnHeaders(5).Width = 1500
    
    i = 1
    Do While Not RS.EOF
        ListView1.ListItems.Add , , Str(i)
        ListView1.ListItems(i).SubItems(1) = RS![no]
        ListView1.ListItems(i).SubItems(2) = RS![name]
        ListView1.ListItems(i).SubItems(3) = RS![value]
        ListView1.ListItems(i).SubItems(4) = RS![remark]
        RS.MoveNext
        i = i + 1
    Loop

    RS.Close
    DB.Close
    Set DB = Nothing
    Set RS = Nothing
End Sub

投稿時間:2004/10/21(Thu) 20:34
投稿者名:KG
Eメール:
URL :
タイトル:
Nullの時は処理を次へ
Nullのときは処理をしないようにする方法とかはどうでしょうか。
たとえばvalueがNullのときは

     Do While Not RS.EOF
         ListView1.ListItems.Add , , Str(i)
         ListView1.ListItems(i).SubItems(1) = RS![no]
         ListView1.ListItems(i).SubItems(2) = RS![name]
         If IsNull(RS![value])=False Then ListView1.ListItems(i).SubItems(3) = RS![value]
         ListView1.ListItems(i).SubItems(4) = RS![remark]
         RS.MoveNext
         i = i + 1
     Loop

など。実行環境が手元にありませんので、試してません。すみません|@_@;

投稿時間:2004/10/25(Mon) 08:25
投稿者名:NM
Eメール:
URL :
タイトル:
Re: Nullの時は処理を次へ
返事が遅くなりまして、すいませんです。
ありがとうございます。
これから試してみます。
まずは、ご挨拶だけさせて頂きます。

投稿時間:2004/10/25(Mon) 15:31
投稿者名:NM
URL :
タイトル:
Re: Nullの時は処理を次へ
色々試してみました。
その結果、エクセルファイルのデータ書き込み時に、データの頭に「'」を付加します。
そうすれば、そのファイルを再度開いてデータテーブルにセットする時に、同列内が
文字列データのセルや整数データのセルが混在しても、『NULL』にならずに表示できました。
アドバイス頂き、有難うございました。