-
July 25th, 2011, 02:31 PM
#1
How Search Database using Inputbox
Dear all I working with a project that created in VB6. I use MS Access 1997 as database and connect the database with VB6 using adodb connection. I am new i VB6 programming. I use a listview control to view the records. My database have a column "SEQURITY_NAME". Now I want to search a SEQURITY_NAMES using a inputbox from the database and also want to display the search result in the listview control.
I am using these commands in my project:-
Dim CON As New ADODB.Connection
Dim RS As New ADODB.Recordset
Private Sub Command1_Click()
With RS
.AddNew
!Date = Text1.Text
!SEQURITY_NAME = Text2.Text
!d_open = Text3.Text
!d_high = Text4.Text
!D_LOw = Text5.Text
!d_close = Text6.Text
!p_close = Text7.Text
!d_p_l = Text8.Text
.Update
End With
End Sub
Private Sub Form_Load()
CON.Open ("provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\DB1.mdb")
RS.Open "select * from EQUITY", CON, adOpenDynamic, adLockOptimistic
Dim itm1 As ListItem
With RS
Do Until .EOF
Set itm1 = lv1.ListItems.Add(, , !Date & "")
itm1.SubItems(1) = !SEQURITY_NAME & ""
itm1.SubItems(2) = !d_open & ""
itm1.SubItems(3) = !d_high & ""
itm1.SubItems(4) = !D_LOw & ""
itm1.SubItems(5) = !d_close & ""
itm1.SubItems(6) = !p_close & ""
itm1.SubItems(7) = !d_p_l & ""
.MoveNext
Loop
Set itm1 = Nothing
End With
End Sub
Private Sub lv1_DblClick()
Text1.Text = lv1.SelectedItem.Text
Text2.Text = lv1.SelectedItem.SubItems(1)
Text3.Text = lv1.SelectedItem.SubItems(2)
Text4.Text = lv1.SelectedItem.SubItems(3)
Text5.Text = lv1.SelectedItem.SubItems(4)
Text6.Text = lv1.SelectedItem.SubItems(5)
Text7.Text = lv1.SelectedItem.SubItems(6)
Text8.Text = lv1.SelectedItem.SubItems(7)
End Sub
Private Sub Text7_Change()
Text8.Text = Val(Text7) - Val(Text6)
End Sub
Plz. Plz. friends help me regarding this.
-
July 26th, 2011, 12:15 AM
#2
Re: How Search Database using Inputbox
If you set SORTED=TRUE, you can type into a LISTVIEW, as I recall. Might be thinking of a LISTBOX, though
Try the sample here http://www.codeguru.com/vb/gen/vb_da...le.php/c14613/
I always use a FLEXGRID, which puts things into a TABLE type view. There is also a MSFLEXGRID, which allows versatility.
-
July 26th, 2011, 01:27 AM
#3
Re: How Search Database using Inputbox
You would need to execute a query with a where clause based on your input and then if results are returned clear your listview and add the items returned in your new recordset.
Based on the code you have posted I would advise taking the code out of the form load event and place it in a sub routine. You can call this sub routine from form load if need be and you can call it from elsewhere as well. Add a parameter to the sub routine to let it know if it should prompt or not.
Code:
Sub GrabData(PromptUser as Boolean)
If PromptUser then
Dim qValue as string
qValue=Inputbox("Search for what")
if qvalue<>"" then
RS.Open "select * from EQUITY where SEQURITY_NAME ='" & qvalue &"'", CON, adOpenDynamic, adLockOptimistic
else
RS.Open "select * from EQUITY ", CON, adOpenDynamic, adLockOptimistic
End if
else
RS.Open "select * from EQUITY ", CON, adOpenDynamic, adLockOptimistic
end if
'.... rest of code from form load that follows the open statement
Don't forget to place a line to clear the listview before adding items else items will be appended to what was there before when the routine is called again. Also remember to close your recordset and connection when you have finished with them. You should never open a local recordset in a sub or function that you do not close before exiting the sub or function.
Always use [code][/code] tags when posting code.
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|