リストボックスに表示するデータをデータベースから読み取ろうとしています。 リストボックスの項目をクリックして検索結果をテキストボックスに戻す方法
私は "表示リスト" ボタンをクリックし
、データシートからすべてのデータを読み込み、リストボックスに移入されますtxtIndex、txtEventID、cmbServer、cmbCompany、txtMessage ...:は私がtextboxsとcomboboxsを持っています。リストボックスの行項目をクリックすると、関連するすべての情報が対応するテキストボックスに表示され、この場合はのコンボボックスが表示されます。
私はFindAll関数を使用して検索エンジンを実装しています。検索結果はOKです。
問題::リストボックスの検索結果をクリックすると、テキストボックスとコンボボックスに表示されるデータが正しくありません。
これは、私が欲しいものではなく、インデックスを一覧表示するためのものです。
これは、結果が正しくない
Private Sub Listbox1_Click()
Dim strAddress As String
Dim idx As Long
' idx = ListBox1.ListIndex + 1
For idx = 0 To ListBox1.ListCount
If ListBox1.Selected(idx) = True Then
strAddress = ListBox1.ListIndex + 1
UserForm1.txIndex.Value = Sheets("DATA").Range("A" & strAddress).Value
UserForm1.txtEventID.Value = Sheets("DATA").Range("B" & strAddress).Value
UserForm1.txtSource.Value = Sheets("DATA").Range("C" & strAddress).Value
UserForm1.cmbServer.Value = Sheets("DATA").Range("D" & strAddress).Value
UserForm1.txtMessage.Value = Sheets("DATA").Range("E" & strAddress).Value
UserForm1.cmbStatus.Value = Sheets("DATA").Range("F" & strAddress).Value
UserForm1.txtDate.Value = Sheets("DATA").Range("G" & strAddress).Value
UserForm1.txtDate.Text = VBA.Format(txtDate, "yyyy.mm.dd")
UserForm1.txtIssueNo.Value = Sheets("DATA").Range("H" & strAddress).Value
UserForm1.cmbCompany.Value = Sheets("DATA").Range("I" & strAddress).Value
UserForm1.txtErrorType.Value = Sheets("DATA").Range("J" & strAddress).Value
UserForm1.cmbPriority.Value = Sheets("DATA").Range("K" & strAddress).Value
UserForm1.txtComment.Value = Sheets("DATA").Range("L" & strAddress).Value
UserForm1.txtName.Value = Sheets("DATA").Range("M" & strAddress).Value
GoTo EndLoop
' UserForm1.Show
End If
Next idx
EndLoop:
Application.ScreenUpdating = True
Label25.Caption = "You're looking for event id: " & txtEventID.Text
End Sub
()UserForm1_Click(によって処理)データを表示するための私のコードです。テキストボックス&のコンボボックスに、選択した項目に関連するデータを正確に表示したいのですが、検索結果(1行目に表示)を選択すると、1行のデータがシートに表示されます。
問題は添付の画像に示されています。最初
私はあなたを正しく理解していますか?データシートの最初の行には、列タイトルとして「索引」、「イベントID」などの値があります。そして、フォームは関連する行の代わりにこれらで埋められます。つまり、 'strAddress'は常に1ですか? – arcadeprecinct
こんにちはarcadeprecinct、はい、あなたは正しいです。最初の行に列のタイトルが表示されます。 – Holmes