• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 164
  • Last Modified:

Search

Hi, I want to search a database.  I want to be able to search by either age or eye color.  I have two radio buttons.  One called radEye and one called radAge.  I have a text box where I will input what I am searching for called txtSearch.  And, I have a command button called cmdSearch to press when I am ready to search.  Any help or creative ideas would be much appreciated.
0
zippy221
Asked:
zippy221
  • 3
1 Solution
 
AZWolf7Commented:
OK, need more info on this, but here's the gist of it:

Dim sSQL as string

sSQL = "select * from Mytable where "

If radEye then
     sSQL = sSQL & " eyecolor = '" & txtSearch & "'"
Else
     sSQL = sSQL & " age = " & CInt(txtSearch)
End If

This code made the following assumptions:
the table is called Mytable
the fields are called eyecolor and age respectively
eyecolor is a string
age is an integer
they have selected one of the values radEye or radAge
if they selected radAge, they entered a valid number



0
 
AZWolf7Commented:
Ooops, it also assumes you can run this dynamically built SQL statement. The theory is create the SQL statement, and execute it to get your recordset you want.

0
 
zippy221Author Commented:
Okay here is more info.  There are 3 text boxes that display the information from the database.  These text boxes are: txtEyeColor, txtAge, txtName.  The database is called dbStudy.  The table is called tblColor.  I will need to create some sort of search where the user can search by either Eye Color or Age.  
0
 
AZWolf7Commented:
'I will assume you are using ADO. this pretty much writes your whole routine for you, but you'llhave a few small holes to fill like the connection string, or converting to the data access type you are using.

Dim sSQL as string
Dim objRS as ADODB.Recordset
Dim objConn as ADODB.Connection

Set objConn = New ADODB.Connection
With objConn
    .ConnectionString = 'insert your connection string here
    .Open
End With
Set objRS = New ADODB.Recordset

sSQL = "select * from Mytable where " 

If radEye then
     sSQL = sSQL & " eyecolor = '" & txtSearch & "'"
Else
     sSQL = sSQL & " age = " & CInt(txtSearch)
End If

objRS.ActiveCOnnection = objConn
objRS.Open sSQL

'Check to see if you got any records
If not objRS.EOF and Not objRS.BOF then
    txtEyeColor = Trim(objRS!eyecolor & "")
    If not isnull(objRS!Age) then
        txtAge = objRS!Age
    Else
        txtAge = 0
    End If
    txtName = Trim(objRS!name & "")
Else
    txtEyeColor = ""
    txtAge = ""
    txtName = "Not Found"
end If

Set objRS = Nothing
Set objConn = Nothing

0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now