Zoeken in Acces met VB2008

Status
Niet open voor verdere reacties.

Mr Digitalis

Gebruiker
Lid geworden
18 jan 2009
Berichten
14
Ik heb een formulier gemaakt met daarop een textbox1 voor de zoektekst in te voeren en een textbox2 voor de zoekresultaten en een zoekbutton. Nu heb ik een access-db gekoppeld aan het formulier.

In access heb ik een tabel gemaakt nl tblRadiostekker met daarin 3 velden,
1= ID (bijv. 1)
2= RadioStekker (bijv. ISO-Alpine16P)
3= RadioType (# Alpine 7228 , 7390 M, 7513 L/M, 7513 R, 7514 L/M, 7515 , 7515 R, 7517 , 7521 , 7521 R, 7523 , 7525 , 7560 R, 7543 M, 7755 R, 7804 M, 7805 M, 7806 , 7807 , 7807 R, 7816 , 7817 LM, 7818 , 7834 , 7878 R, CDA 7842 , 7850 , 7852 , 7944 R, 9831 R, CDE 228 , 7820 , 7853 R, 7860 R, 9801 R, 9802 RB, 9828 RB, CVA 1000 R, 1004 R, CDM 7834 R, 7835 R, 7838 R, 7857 RB, 7859 RB, 7861 R, 7871 RM, 7872 RB, 9803 RR, 9825 RB, CTM 1503 R, TDA 7561 , 7562 , 7570 , 7572 R, TDE 7823 W, TDM 7522 M, 7533 M, 7544 R, 7545 , 7545R, 7554 R, 7555 R, 7574 RM, 7574 , 7575 RB, 7580 RM, 7581 RB, 7582 R, 9505 B, INA 033, N 333 R /RS , JVA-D 310 R )

(Radiotype geeft aan welke radio voor welke stekker geschikt is)
Als iemand een Alpine 7228 radio heeft, dan heeft hij de volgende stekker nodig: de ISO-Alpine16P.

Is het mogelijk als ik alleen 7228 of 7390 invoer dat hij aangeeft dat de ISO-Alpine16P stekker nodig is? En als er niet gevonden wordt dat hij dat dan ook aangeeft?

Ik ben er al dagen mee aan het stoeien en kom er helemaal niet meer uit. Ik heb ook veel gezocht, maar heb geen vergelijkbare situaties kunnen vinden voor mijn probleem.

Zou iemand mij een beetje op weg willen helpen? :)
 
Ik ga er even van uit dat je accesstabel er zo uit ziet:
ID, RadioStekker, RadioType
1, ISO-Alpine16P, Alpine 7228
2, ISO-Alpine16P, Alpine 7390 M
etc.

Je zou dan een query kunnen bouwen die zoekt naar de tekst in textbox1. Zou dan zoiets worden:
Code:
Dim strSQL As String = "SELECT RadioStekker FROM tblRadioStekker WHERE RadioType Like @RadioType"
Dim oConn As OleDbConnection
Dim oCmd As OleDbCommand
Dim dr As OleDbDataReader

'ipv my.settings.ConnectionString kun je ook de connectionstring hier invullen.
oConn = New OleDbConnection(my.settings.ConnectionString)
oCmd = New OleDbCommand()
oCmd.Connection = oConn

oCmd.CommandText = strSQL
oCmd.Parameters.AddWithValue("@RadioType", Me.textbox1.Text)

        Try
            oConn.Open()
            dr = oCmd.ExecuteReader()
            If dr.HasRows Then
                me.textbox2.text=dr(0)
            else
                 me.textbox2.text = ""
            end if

         Catch ex As OleDb.OleDbException
            MsgBox(ex.Message & vbCrLf & ex.StackTrace)
        Catch ex As Exception

            MsgBox(ex.Message & vbCrLf & ex.StackTrace)

        Finally

            oConn = Nothing
            oCmd = Nothing

        End Try

Hier zou je al wat mee op weg moeten kunnen. Succes!
 
Hartelijk dank voor het uitgebreide antwoord! Hier kan ik zeker wat mee!

Gr.
Piet :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan