0

please kindly help me!!!
what i wanted is when i select items in the combobox and it is already in the database it will prompt that it is already in the database..tnx

Private Sub ComboBox3_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ComboBox3.Validating
        If ComboBox3.Validating Then
            con = New OleDbConnection("Provider= Microsoft.ACE.oledb.12.0; Data Source=C:\Users\edenzam\Desktop\CBFMNHS Enrollment System\CBFMNHS Enrollment System\bin\Debug\Enrollment System.accdb")
            Dim ewaaa As String = "Select * from SchedulingTwos  where YearLevels = '" & ComboBox1.Text & "'"
            com = New OleDbCommand(ewaaa, con)
            con.Open()
            com.ExecuteNonQuery()
            rid = com.ExecuteReader
            rid.Read()
            If (rid.HasRows) Then
                ComboBox3.Text = rid(2)
                MsgBox("Section Already Exist", MsgBoxStyle.Critical, "Error")
                ComboBox3.SelectedIndex = -1
            End If
        End If
    End Sub

Edited by pyTony: fencing ~~~ vb code tags added

4
Contributors
23
Replies
24
Views
5 Years
Discussion Span
Last Post by jhedonghae
0

What does ur combobox1 contains and what is in combobox3

Private Sub ComboBox3_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ComboBox3.Validating
    If ComboBox3.Validating Then
    con = New OleDbConnection("Provider= Microsoft.ACE.oledb.12.0; Data Source=C:\Users\edenzam\Desktop\CBFMNHS Enrollment System\CBFMNHS Enrollment System\bin\Debug\Enrollment System.accdb")
    Dim ewaaa As String = "Select * from SchedulingTwos where YearLevels = '" & ComboBox1.Text & "'"
    com = New OleDbCommand(ewaaa, con)
    con.Open()
    rid = com.ExecuteReader
        if rid.Read=True then
                MsgBox("Section Already Exist", MsgBoxStyle.Critical, "Error")
                ComboBox3.SelectedIndex = -1
        End If
    End If
End Sub
0

combobox1 contains the items First Year, Second Year, Third Year, Fourth Year and combobox3 contains sections 1 - 15

0

and their is an error with this code "If ComboBox3.Validating Then"

0

use the below select query

"Select * from SchedulingTwos where YearLevels = '" & ComboBox1.Text & "'" and Sections = '" & ComboBox3.Text & '""

if this condition is true then u will get the alert message that the section is already added

0

this code generates an error com = New OleDbCommand(ewaaa, con) it says that ewaaa is not declared

0

paste ur code again so that we can help u....if already fixed mark the thread as solved....
Remove the if condition of validating...see if com is declared....check the connections

Edited by poojavb: add

-1

this code generates an error com = New OleDbCommand(ewaaa, con) it says that ewaaa is not declared

0
Private Sub ComboBox3_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ComboBox3.Validating
        If ComboBox3.Text = "'" Then
            con = New OleDbConnection("Provider= Microsoft.ACE.oledb.12.0; Data Source=C:\Users\edenzam\Desktop\CBFMNHS Enrollment System\CBFMNHS Enrollment System\bin\Debug\Enrollment System.accdb")
            Dim ewaaa As String = "Select * from Schedulings where YearLevels = '" & ComboBox3.Text & "' And Sections = '" & ComboBox1.Text & "' "
            com = New OleDbCommand(ewaaa, con)
            con.Open()
            rid = com.ExecuteReader
            rid.Read()
            If (rid.HasRows) Then
                ComboBox3.Text = rid(2)
                MsgBox("Section Already Exist", MsgBoxStyle.Critical, "Error")
                ComboBox3.SelectedIndex = -1
            End If
        End If
    End Sub

Edited by pyTony: fencing ~~~ vb code tags added

0

i think the problem is in this part "If ComboBox3.Text = "'" Then" i just don't know how to manipulate combobox when the event is validating...please help me

0

Remove that if (If ComboBox3.Text = "'") condition y u need it???

and u have written double quotes then single quote and then double quotes in the if condition for combobox text....y u need that??? remove the single quote and keep it just If ComboBox3.Text = "" Then....i would recommend to remove that condition

anyways if this is the condition it wont enter the if loop anytime...

0

i change my codes to this:

 Private Sub ComboBox3_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ComboBox3.Validating
        con = New OleDbConnection("Provider= Microsoft.ACE.oledb.12.0; Data Source=C:\Users\edenzam\Desktop\CBFMNHS Enrollment System\CBFMNHS Enrollment System\bin\Debug\Enrollment System.accdb")
        Dim ewaaa As String = "Select * from Schedulings where YearLevels = '" & ComboBox3.Text & "' And Sections = '" & ComboBox1.Text & "' "
        com = New OleDbCommand(ewaaa, con)
        con.Open()
        rid = com.ExecuteReader
        rid.Read()
        If (rid.HasRows = True) Then
            ComboBox3.Text = rid(2)
            MsgBox("Section Already Exist", MsgBoxStyle.Critical, "Error")
            ComboBox3.SelectedIndex = -1
        Else
            ' do nothing
        End If
    End Sub

but still it is not working

Edited by pyTony: fencing ~~~ vb code tags added

0

1st, why use use Validating event? Why not SelectedIndexChnaged (of comboBox(es))?
2nd, change comboBoxX.Text with comboBoxX.SelectedItem.tostring()
3rd, remove "if(rid.HasRows)" out of the code, change it with "if(rid.Read())" statement
and last,:
You cannot use comboBox3.Text, this will do nothing. What you can do, is to ADD a new Item to this comboBox. And then select it (if you want to show it on top (in "textBox" of comboBox area).
So change ComboBox3.Text = rid(2) to: ComboBox3.Items.Add(rid(2).ToString())

--
Hope it helps,
bye

0

@Mitja this is my new code that i based from what you said i hope i did it the way you wanted because it still didn't work

Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox3.SelectedIndexChanged
con = New OleDbConnection("Provider= Microsoft.ACE.oledb.12.0; Data Source=C:\Users\edenzam\Desktop\CBFMNHS Enrollment System\CBFMNHS Enrollment System\bin\Debug\Enrollment System.accdb")
Dim ewaaa As String = "Select * from Schedulings where YearLevels = '" & ComboBox3.Text & "' And Sections = '" & ComboBox1.Text & "' "
com = New OleDbCommand(ewaaa, con)
con.Open()
rid = com.ExecuteReader
rid.Read()
If (rid.Read()) Then
ComboBox3.Items.Add(rid(2).ToString())
MsgBox("Section Already Exist", MsgBoxStyle.Critical, "Error")
ComboBox3.SelectedIndex = -1
Else
' do nothing
End If
End Sub

and by the way where do i add this code? 2nd, change comboBoxX.Text with comboBoxX.SelectedItem.tostring()
tnx

0

Ok, I did renovate your code, and it you have data inside your table (and it connection string is the right one), is must work:

Private Sub ComboBox3_SelectedIndexChanged(sender As System.Object, e As System.EventArgs)
    con = New OleDbConnection("Provider= Microsoft.ACE.oledb.12.0; Data Source=C:\Users\edenzam\Desktop\CBFMNHS Enrollment System\CBFMNHS Enrollment System\bin\Debug\Enrollment System.accdb")
    Dim ewaaa As String = "SELECT * FROM Schedulings WHERE YearLevels = '" & ComboBox3.SelectedItem.ToString() & "' AND Sections = '" & ComboBox1.SelectedItem.ToString() & "'"
    com = New OleDbCommand(ewaaa, con)
    con.Open()
    rid = com.ExecuteReader()
    If rid.Read() Then
        Dim text As String = rid(2).ToString()
        ComboBox3.Items.Add(text)
        '2 means 3rd column! do you have 3 columns inside table?
        'show this on top:
        ComboBox1.Text = text
            'Interaction.MsgBox("Section Already Exist", MsgBoxStyle.Critical, "Error");               
        ComboBox3.SelectedIndex = -1
            ' do nothing
    Else
    End If
End Sub
0

Put a break point before this line of code:
Dim text As String = rid(2).ToString()

and you will see by putting a mouse cursor over "text" variable if there is any text iside.
If it is , it code should put text into comboBox, else its something wrong with query statement.

0

Untitled58 it works tnx but when i click the message box the attach image that shows the problem occurs

0

U can use Debug.Print("text: "+ text) to check the value...if u dont know how to use debugger

it will show the value of the word declared as a variable but it should be string else convert it to String...

Try this below code...

  Private Sub ComboBox3_SelectedIndexChanged(sender As System.Object, e As System.EventArgs)

con = New OleDbConnection("Provider= Microsoft.ACE.oledb.12.0; Data Source=C:\Users\edenzam\Desktop\CBFMNHS Enrollment System\CBFMNHS Enrollment System\bin\Debug\Enrollment System.accdb")

Dim ewaaa As String = "SELECT * FROM Schedulings WHERE YearLevels = '" & ComboBox3.SelectedItem.ToString() & "' AND Sections = '" & ComboBox1.SelectedItem.ToString() & "'"
com = New OleDbCommand(ewaaa, con)
con.Open()
rid = com.ExecuteReader()
    If rid.Read = True Then
       MsgBox("Section Already Exist", MsgBoxStyle.Critical, "Error");
       else
       MsgBox("Section does not Exist", MsgBoxStyle.Critical, "Error");
    End If
End Sub
0

instead of & use + sign.....if still it does not work then try to convert SelectedItem.ToString to Text....hope it works for u...

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.