0

アクセス ファイルからデータを取得するプログラムを作成しようとしています。ボタンを押すと、そのラベルをテキスト ファイルに作成できます。現在、ボタンを押して複数のラベルを作成すると、最後に選択されたラベルのみが表示されます。すべての のループが必要だと思いますが、outfile.write'sどのループを使用すればよいかわかりません。エラーなどは発生していません。このテキスト ファイルに複数のラベルが印刷されていません。また、同じ行にあるので、たとえば人の姓と名の間にスペースを入れるにはどうすればよいですか? これはこれまでの私のコードです。

Imports System.IO

Public Class frmAccess
    Dim outFile As StreamWriter

    Private Sub TblMemberBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TblMemberBindingNavigatorSaveItem.Click
        Me.Validate()
        Me.TblMemberBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.GolfDataSet)

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'GolfDataSet.tblMember' table. You can move, or remove it, as needed.
        Me.TblMemberTableAdapter.Fill(Me.GolfDataSet.tblMember)



    End Sub


    Private Sub cmdCreate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCreate.Click
        Dim outFile As StreamWriter
        outFile = File.CreateText("Labels.txt")

        outFile.WriteLine()
        outFile.WriteLine()
        outFile.Write(lblFirst.Text, " ")
        outFile.WriteLine(lblLast.Text)
        outFile.WriteLine(lblAddress.Text, " ")
        outFile.Write(lblCity.Text, ", ")
        outFile.Write(lblState.Text, " ")
        outFile.Write(lblZip.Text)
        outFile.WriteLine()
        outFile.Close()

    End Sub

    Private Sub cmdExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdExit.Click

        Me.Close()

    End Sub
End Class

たとえば、テキスト ファイルは次のようになります (xxx= 空白行):

xxxx

xxxxx

ボブ・スミス

123フィックスロード

12345フロリダ州タンパ

xxxxxx

xxxxxx

xxxxxx

ジェーン・ドウ

987ヘルプレーン

コロラド州デンバー56789

xxxxx

xxxxx

したがって、両方のラベルを表示するテキスト ファイルではなく、Jane Doe のラベルのみが表示されます。

4

3 に答える 3

0

すべての名前と住所の詳細を表示するには、このコードを試してください

Private Sub cmdCreate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCreate.Click

 Dim outFile As StreamWriter
        If File.Exists("D:\sathish\Labels.txt") Then
            outFile = New StreamWriter("Labels.txt", True)
        Else
            outFile = New StreamWriter("Labels.txt")
        End If


        outFile.WriteLine()
    outFile.WriteLine()
    outFile.Write(lblFirst.Text & " ")
    outFile.WriteLine(lblLast.Text)
    outFile.WriteLine(lblAddress.Text & " ")
    outFile.Write(lblCity.Text & " " & ", ")
    outFile.Write(lblState.Text & " ")
    outFile.Write(lblZip.Text)
    outFile.WriteLine()
    outFile.Close()

End Sub
于 2013-04-13T06:11:14.737 に答える
0

以下を使用できます

Private Sub cmdCreate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCreate.Click
    Dim outFile As StreamWriter
    outFile = File.CreateText("Labels.txt")

    outFile.WriteLine()
    outFile.WriteLine()
    outFile.Write(lblFirst.Text & " ")
    outFile.WriteLine(lblLast.Text)
    outFile.WriteLine(lblAddress.Text & " ")
    outFile.Write(lblCity.Text & " " & ", ")
    outFile.Write(lblState.Text & " ")
    outFile.Write(lblZip.Text)
    outFile.WriteLine()
    outFile.Close()

End Sub
于 2013-04-13T05:29:30.240 に答える
0

スペースについては、 Strings.Space(numOfSpaces) メソッドを使用できます。おそらく、ファイルに書き込む前に firstname 変数にアタッチできます。元の質問については、あなたが相棒に何を求めているのか正確にはわかりません...言い換えることができますか? また、テキストボックスをバインドしていないことを願っています

于 2013-04-13T05:21:41.330 に答える