0

ここで私のアプリケーションでは、2 つのタスクを実行しています。

  1. すべての値を表示cmbrno_click()

  2. すべての値を表示cmbfulnm_lostfocus()

cmbrnoのスタイルは 2 ドロップダウン リストに設定されています。

Private Sub CmbFulNM_LostFocus()
  RES.Open "student_record_database",CON,adOpenDynamic,adLockOptimistic,adCmdTable

  For i = 0 To RES.RecordCount - 1
    CmbRNO.Text = RES!ROLLNO 'at this line control goes to the cmbrno_click event which is having same part of coding and executes that also.
    TxtFNM.Text = RES!FIRST_NAME 'error like: item not fount in corresponding ordinal
    TxtMIDNM.Text = RES!MIDDLE_NAME
    TxtLNM.Text = RES!LAST_NAME
    TxtADDR.Text = RES!ADDRESS
    COMBO1.Text = RES!GRADE
    CmbDiv.Text = RES!DIV
    CmbBG.Text = RES!BLOOD_GROUP

    If CmbRNO.ListCount > 0 Then CmbRNO.ListIndex = i
  Next i
  RES.Close
End Sub
4

1 に答える 1

1

これはすべてかなり混乱しています。この投稿の主題は、「フルネームに対応するコンボのリストインデックスを設定する方法は?」です。ただし、コードの (C) コメントは次のとおりです。「似ている」と思われるものではなく、正確なエラーメッセージを提供する必要があります。

TxtFNM は本当にテキスト ボックスですか? これらのコントロールが何であるか、およびこれらのコントロールがどのように初期化されているかを説明する必要があります。

サイキック デバッグを使用すると、問題はフィールド名のスペルが正しくないことにある可能性があります。本当に「FIRST_NAME」ですか?

別のメモとして、複数のレコードをループして、各フィールドを同じコントロールにコピーしていることに気付きました。MoveNext がないため、このコードは、レコードの数に関係なく、常に最初のレコードを返します。ただし、「Next i」の直前の行のおかげで、ループの開始時に cmbRNO の選択をi番目に追加された項目で上書きする可能性があります。

おそらく、ここでやりたいことを実際に述べた方がよいでしょう。「[2] cmbfulnm_lostfocus() ですべての値を表示する」はあまり正確ではありません。

于 2013-02-02T16:25:23.390 に答える