Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Search

Posted on 2000-05-04
4
157 Views
Last Modified: 2010-05-02
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
Comment
Question by:zippy221
  • 3
4 Comments
 

Expert Comment

by:AZWolf7
ID: 2778766
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
 

Expert Comment

by:AZWolf7
ID: 2778771
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
 

Author Comment

by:zippy221
ID: 2781298
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
 

Accepted Solution

by:
AZWolf7 earned 50 total points
ID: 2782132
'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.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction While answering a recent question (http://www.experts-exchange.com/Q_27402310.html) in the VB classic zone, I wrote some VB code in the (Office) VBA environment, rather than fire up my older PC.  I didn't post completely correct code o…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question