0
Private Sub Cmbfullname_Click()
Dim SQL As String
Dim FName, SName, LName As String
FName = Mid(Combo14.Text, 1, InStr(1, Combo14.Text, " ", vbTextCompare))
SQL = "SELECT A.ROLLNO,A.FIRST_NAME,A.MIDDLE_NAME,A.LAST_NAME,A.CONTACT,A.CONTACT1,A.CONTACT2,A.ADDRESS,A.GRADE,B.DIV,A.BLOOD_GROUP,C.HOUSE,A.DATE_OF_BIRTH,A.TRANSPORT,A.SNAME,A.MEAL,A.BUSNO,A.RUTNO,D.DNAME,D.DCONT,E.ANM,D.DADD,A.CARD_TYPE,A.CARD_NO FROM STUDENT_RECORD_DATABASE A,DIVISION B,HNM C,DRIVER D,ATTEND E WHERE A.DIVID=B.DIVID AND A.HID=C.HID AND A.DID=D.DID AND A.AID=E.AID AND "
SQL = SQL + "FIRST_NAME='" & FName & "'"
Set RES = CON.Execute(SQL)
If RES.RecordCount > 0 Then
   RES.MoveFirst
        COMBO4.Text = RES!ROLLNO
        Text2.Text = RES!FIRST_NAME
        Text3.Text = RES!MIDDLE_NAME
        Text4.Text = RES!LAST_NAME
        Text5.Text = RES!CONTACT
        Text6.Text = RES!CONTACT1
        Text7.Text = RES!CONTACT2
        Text8.Text = RES!ADDRESS
        Combo1.Text = RES!GRADE
        Combo2.Text = RES!DIV
        Combo3.Text = RES!BLOOD_GROUP
        Combo9.Text = RES!HOUSE
        DTPicker1.Value = RES!DATE_OF_BIRTH
        Combo10.Text = RES!TRANSPORT
        Combo5.Text = RES!SName
        Combo11.Text = RES!MEAL
        Combo6.Text = RES!BUSNO
        Combo12.Text = RES!RUTNO
        Combo7.Text = RES!DNAME
        Text9.Text = RES!DCONT
        Combo8.Text = RES!ANM
        Text10.Text = RES!DADD
        Combo13.Text = RES!CARD_TYPE
        Text11.Text = RES!CARD_NO
    End If
    Exit Sub

Private Sub Cmbfullname_LostFocus()
Dim temp As Variant
temp = Split(Combo14.Text, " ")
If temp(0) <> Empty Then
   Combo14.Text = FIRST_NAME
If UBound(temp) Then
    Text2.Text = temp(0)
Else
If UBound(temp) Then
    Text3.Text = temp(1)
Else
If UBound(temp) Then
    Text4.Text = temp(2)
End If
End If
End If
End If
End Sub

Private Sub Text2_LostFocus()  //This code is repeated for text3 and text4 also
Dim SQL As String
Combo14.Clear
Dim STR() As String
STR = Split(Text2.Text, " ")
If STR(0) <> Empty Then
SQL = "SELECT * FROM STUDENT_RECORD_DATABASE WHERE FIRST_NAME='" & STR(0) & "'"
Set RES = CON.Execute(SQL)
 If RES.RecordCount > 0 Then
    RES.MoveFirst
        For I = 0 To RES.RecordCount - 1
Combo14.AddItem RES.Fields("FIRST_NAME").Value & "" & RES.Fields("MIDDLE_NAME").Value & "" & RES.Fields("LAST_NAME").Value
    RES.MoveNext
    Next
End If
Combo14.Text = STR(0)
End If
End Sub

特别是此代码将记录全名显示为在 text2 中输入的 first_name,但是当我选择其中一个时,它只会显示第一条记录的信息,而不是其他选定的记录。我想使用所有 3 个文本框执行相同的操作。text4 是执行正确的操作,但 text2,text3 不是。谢谢

4

0 回答 0