手順 4: Details テキスト ボックスへのデータ設定

Details テキスト ボックスにデータを設定するには

recFields という Sub ルーチンを作成し、次のコードを挿入します。

Sub recFields(r As Record, l As ListBox, t As TextBox)
    Dim f As Field
    Dim s As Stream
    Set s = New Stream
    Dim str As String
    
    For Each f In r.Fields
        l.AddItem f.Name & ": " & f.Value
    Next
    t.Text = ""
    If r!RESOURCE_CONTENTCLASS = "text/plain" Then
        s.Open r, adModeRead, adOpenStreamFromRecord
        str = s.ReadText(1)
        s.Position = 0
        If Asc(Mid(str, 1, 1)) = 63 Then '//63 = "?"
            s.Charset = "ascii"
            s.Type = adTypeText
        End If
        t.Text = s.ReadText(adReadAll)
    End If
End Sub

このコードで、recFields に渡された単純レコードのフィールドと値を使用して、lstDetails にデータを設定します。リソースがテキスト ファイルである場合は、テキスト Stream がリソース レコードから開かれます。このコードで、文字セットが ASCII であるかどうかが判断され、Stream の内容が txtDetails にコピーされます。