Click here to Skip to main content
15,886,689 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Need help here. I want to do a conditional searching. I have 5 check box in my form but as I am testing it a bit, I just can't seem to do it right. I don't know what I got wrong here. Here's the code for the joined table:

Const SEARCH_DISPLAY As String = "SELECT Sector.SectorName, Association.AssociationName, Company.CompanyName, Company.CompanyLocation, Company.CompanyRegion, " &
" Company.CompanyProvince, Company.CompanyConPer, Company.CompanyPos, Company.CompanyGender, Company.CompanyTelNo, " &
" Company.CompanyFaxNo, Company.CompanyEmail, Company.CompanyWeb, Product.ProductDesc, Product.RawMatDesc "

Const SEARCH_JOINS As String = "FROM ((Sector INNER JOIN Association ON Sector.SectorID=Association.SectorID)" &
"INNER JOIN Company ON Association.AssociationID=Company.AssociationID) " &
"INNER JOIN Product ON Company.CompanyID=Product.CompanyID "



And here's the code for the conditional searching.
VB
con.Open()

         gboxSearchRes.Visible = True
     If chkboxAssoc.Checked = True Then
         dsjoin.Clear()

         daJoin = New OleDbDataAdapter(SEARCH_DISPLAY & SEARCH_JOINS & "WHERE (Association.AssociationName = '" & cmboxAssocDisp.Text & "')", con)
         daJoin.Fill(dsjoin, "Sector")
         daJoin.Fill(dsjoin, "Association")
         daJoin.Fill(dsjoin, "Company")
         daJoin.Fill(dsjoin, "Product")


     ElseIf chkboxProduct.Checked = True Then
         dsjoin.Clear()
         daJoin = New OleDbDataAdapter(SEARCH_DISPLAY & SEARCH_JOINS & "WHERE (Product.ProductDesc LIKE '%" & txtProd.Text & "%')", con)
         daJoin.Fill(dsjoin, "Sector")
         daJoin.Fill(dsjoin, "Association")
         daJoin.Fill(dsjoin, "Company")
         daJoin.Fill(dsjoin, "Product")
     ElseIf chkboxAssoc.Checked = True And chkboxProduct.Checked = True Then
         dsjoin.Clear()
         daJoin = New OleDbDataAdapter(SEARCH_DISPLAY & SEARCH_JOINS & "WHERE Association.AssociationName = '" & cmboxAssocDisp.Text & "' AND Product.ProductDesc LIKE '%" & txtProd.Text & "%' ", con)
         daJoin.Fill(dsjoin, "Sector")
         daJoin.Fill(dsjoin, "Association")
         daJoin.Fill(dsjoin, "Company")
         daJoin.Fill(dsjoin, "Product")
     End If
     con.Close()
     dgvShowSearch.DataSource = dsjoin.Tables("Sector").DefaultView


The if-elseif statements with only 1 condition works well but the 3rd else if statement is not working at all. It has no error message, it just doesn't work.
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900