What Happens When A Combobox Search Has Multiple Results
Jan 22, 2007
When you put a combo box to search the values in a form what happens if there are more than one (in my case) name that matches the criteria. ie: if you search for Smith and there are 10 people with the surname of Smith it brings up the first record. is there a way of doing adding a "search again' function so you can look for another Smith?
I have built a custom search form in a MS Access 2010 database so that users can find specific records to edit. After entering the search criteria and hitting a Search button, another form opens up that shows the search results. This second form includes a command button for generating a report of the search results.
Right now, the custom search form and the search results form are both working properly, but the search results report is showing every record in the database instead of just the search results. This is true whether I access the report via the command button in the form or the navigation pane. I'm not sure if I need to correct my VBA code or the report's properties.
I'm having trouble finding an entry anywhere about this, although I'm sure I'm not the first person to come across it...
When I am typing my entry into a combobox it begins to autosearch, highlighting the part of the entry that it finds that matches the beginning that I typed in (as a normal combobox does in access).
However, when the entry it finds has multiple periods in it (i.e.: S.T.A.R) it stops searching and does not highlight the remainder of the entry it moved to. I'm not sure that searching is the correct term, which may be why I can't find any information on this, but is there a way to correct this problem?
I have a form that has a subform on it. The main form shows a category of furniture and has custom navigation buttons and a search text box for asset numbers and command button that runs the search. The subform shows the asset numbers associated with that furniture category, sometimes there is only one asset number, in other cases there could be 60. There is a scroll bar to scroll through the asset numbers when there are too many to see in the initial window.
The buttons all work as they should except when I search for an asset number that is part of a category that has too many asset numbers to show in the main window. When this happens the "previous" and "next" navigation buttons do not take you to the previous or next record. All of the other buttons on the form work though - you can go to the first, or the last record, and you can search for a new asset.This is the code for the search:
Code:
Private Sub cmdAssetSearch_Click() Dim rs As Object If IsNull(Me.TextAsset) Or Me.TextAsset = "" Then MsgBox "Please type in an asset number to search for.", vbOKOnly Me.TextAsset.SetFocus
[code]....
I've also attached a picture of what I mean when I say there are more asset numbers than what the window shows.
I have a search form that uses a query to show results of a search, but everytime I press search everything comes up even though I have entered search parameters, even though my search requeries every time and the search used to work before I added new records today. Also when I press the query alone on the navigation pane it asks me for the parameters and then it actually works but it won't when I use my form.
:( I have such problem : my query works right, but in ComboBox I got results with wrong sort. Query results is: Street 8 Street 8a Street 10 Street 10/12
But in ComboBox data views such: Street 10/12 Street 10 Street 8a Street 8
I have cascading comboboxes on my search form. The first selects a year, the second all hospitals with patients who had visits in that year, and the third is supposed to be populated with all patients who had visits at that hospital in that year. When I click on the third combobox, the results are incomplete. Some of the patients fitting the criteria are listed but not all of them. On each run there may be a different number of patients. If I just run the query by itself, all of the patients are listed. The combobox rowsource is:
SELECT DISTINCTROW [PatientNbr] & " - " & [PatientName] & " - " & [ServiceYear], [PatientNbr] FROM qryFindPatients ORDER BY [PatientName], [ServiceYear];;
The query (qryFindPatients) is: SELECT tblSUR2941Master.ServiceYear, tblSUR2941Master.ProviderNbr, tblSUR2941Master.ProviderName, tblInterPatients.PatientName, tblSUR2941Master.PatientNbr FROM (tblSUR2941Master INNER JOIN tblInterPatients ON tblSUR2941Master.PatientNbr = tblInterPatients.MedicaidNbr) INNER JOIN tblInterPatientsEntries ON tblInterPatients.MedicaidNbr = tblInterPatientsEntries.MedicaidNbr WHERE (((tblSUR2941Master.Sampled)="1")) GROUP BY tblSUR2941Master.ServiceYear, tblSUR2941Master.ProviderNbr, tblSUR2941Master.ProviderName, tblInterPatients.PatientName, tblSUR2941Master.PatientNbr HAVING (((tblSUR2941Master.ServiceYear)=[Forms]![frmIntermediateVisits]![txtRevYear]) AND ((tblSUR2941Master.ProviderName)=[Forms]![frmIntermediateVisits]![cboFacility])) ORDER BY tblSUR2941Master.ServiceYear, tblSUR2941Master.ProviderName, tblInterPatients.PatientName; How can I get all the patients to show up in the combobox? Thanks in advance.
I have a list of staff that have a conflict of interest with a particular entity. As a result, these staff are not allowed to interview these entities.
I have a query that matches all staff with their respective entities that they have a conflict of interest with (CoI) and that is functioning correctly.
When the form loads to add an interview, there is a listbox that pulls all the people who are not allowed to do an interview with that particular entity. That is also working correctly.
I have a subform, that is a continuous form, which will allow the user to add staff, one at a time, via a drop down box. These people are stored in their own table with a FK Id to the interview table. This also works correctly.
How to filter the combobox on the subform to exclude the people in the listbox.
Here is what I have tried, loosely based on what I have found on Google and researching here. I am 100% sure it is not working correctly, but what I am missing.
The query the listbox is based on has 3 colums, the ID, the Name, and the business contract number.
Code: Private Sub Form_Load() Dim strSource As String Dim i As Integer For i = 0 To Me.lstCoI.ListCount - 1
[Code] ....
In the immediate window, I get the following result:
SELECT [staff] FROM lutStaff WHERE Staff <> name1 SELECT [staff] FROM lutStaff WHERE Staff <> name2 SELECT [staff] FROM lutStaff WHERE Staff <> name3 SELECT [staff] FROM lutStaff WHERE Staff <> name4 SELECT [staff] FROM lutStaff WHERE Staff <> name5 SELECT [staff] FROM lutStaff WHERE Staff <> name6
The issue is that the box is not filtering all the names out of the list it is built on. It is only filtering out the last name.
Obviously I need to save the results for comparison, but I am at a loss on how to do that.
I've seen comboboxes before that by typing the first letter of the word your looking for it will go to the first word matching that letter, but then by typing that letter again it will go to the next word starting with that letter: Such as in a "Choose Your State" box by typing "M" it selects Massachusetts then by typing m again it selects Maryland, the third time it selects Maine... and so on. I would like to add this to a cbobox on a form but havent had any luck. I have searched the forum but didnt find anything pertaining to this. Any help or suggestions on where to get this info is greatly appreciated.
I know there are threads on this issue but I have searched and can't find them. I'm not coming up with the right search string so I apologize for asking something I know I should be able to find. I;m trying to find the code for typing the first few letters of a word-Name, city, etc in a combobox and have combobox bring up with those letters. Can someone tell me code or suggest the correct search string to search the forum?
I have a table, with a related value in another table. E.g. A Items table with a batch value from another table.
I have a form to enter how many of these items has been used and from which batch number they belong.
The batch number is from a dropdown, and batches can be finished(exhausted) and marked such in the table so they no more show in the dropdown.
All this works fine, until, I go back to a entry which was from a batch that has been finished. The combobox is empty although the (Already finished) batch number is mentioned in the table. This is perfectly normal as my query for the combobox is :
Code:
SELECT ItemBatch.ItemId, ItemBatch.ItemBatchNumber, ItemBatch.Finished, ItemBatch.ItemName FROM ItemBatch WHERE (((ItemBatch.Finished)=False) AND ((ItemBatch.ItemName)=[Forms]![ItemMasterForm]![ItemDataSheet].[Form]![ItemName]));
What I want is to show the current batch number as well. I tried to make this query get the current value, but wasn't successful. I tried to make a calculated field based on the dropdown and show its value.
Is there any way I can show the batch number in the datasheet? I have to use a datasheet and not a form, because there will be many sub records for the main form, and having a form will be very uneasy.
I have a database of daily reports. There are three shifts per day. 0800-1600, 1600-2400, and 2400-0800. I ran the combobox wizard and asked it to "find a record based on the value I selected in my combo box." I chose (and I know these are misnamed fields) field 3 which is the date field and field 2 which is the shift field. Then I tested the combo box. I click on the down arrow of the combo box the date and shift is displayed. For some reason tho when I select a date/shift, eg. 12/12/2004 | 1600-2400 the right record pops up as far as the date is concerned but the 2400-0800 shift record comes up. I select 11/25/2004 | 0800-1600 and again the right date but the same 2400-0800 record is displayed. Why is the right date but the wrong shift being displayed?
please can someone help me with a vb code to view search results in a subform such that double clicking search result on subform displays another form with details of the result. Heeeeeeelp. Thanks
I am trying to build a form that allows the user to INPUT stock as it arrives. This is simple with a product form that shows all the products in the table. I just go to the quantity field and change it.
But, I want to create a 'search' function in the field. I want to allow the user to type in the Product number. Then the Product name, Product Price and Quantity is AUTOMATICALLY displayed.
The user can then change this value (items in stock).
Below is the main data entry form of my application. We disrtibute a product called MC Cloth to Shops to display. After a month we visit again and take stock of products sold, replenish and the shop pays for the products sold. the Database keeps a record of the shop, products displayed, refilled, sold and respective payments.
The dtabase and the form is loaded in Handheld (PDAs) by the sales people who enter data during the visit and then synchronise with a master on return
http://affiliatesexcel.com/MC_main_form.jpg
I need to sum up values in one field for example MC Refill from the first record till the new record and show it in another field, for example MC Refill Total
Another Forum answer to my question about summing up values in one field to be used as default in a second field showed that a search needs to be done based on base field (in this case NAME of customer).
However since I use a COMBO BOX to enter this NAME field values and then select it from a pull down list to create new records, I have this value ONLY in the very first Record. All subsequent records have all other values where as the NAME value remain empty.
This makes the search function impossible based on the NAME value. As a solution I would like to AUTOMATICALLY copy the NAME value to a second field (for example CUST_ID) during creation of each NEW RECORD so that I can then base my search on this field instead of the Name field (with empty values)
Currently I have the code below which works correctly for entering NEW Data and for recalling by Pull Down . (I have tried a mehod which entered the values for all records but this clutter up the Pull down with SAME Name for repeated records making the PULL DOWN unusable.)
I have tried to copy the Name value to Cust_ID value for each new record but the code gives an error.
+++++++++++ Code:
Private Sub Name_Combo_AfterUpdate() ' This procedure tries to find the matching product's record. ' If the matching record is found, the procedure goes to it. ' If the record isn't found, the focus stays on the current record.
Dim Criteria As String ' This is the argument to the FindFirst method. Dim MyRS As Recordset ' Recordset used to search. Dim ComboName As String ' The name of the company to search for. Const IDYES = 6
Set MyRS = Me.RecordsetClone ' Build the criteria. ComboName = Chr$(34) & Screen.ActiveControl & Chr$(34) Criteria = "[Name]=" & ComboName ' Perform the search.
MyRS.FindLast Criteria If MyRS.NoMatch Then
Response = MsgBox("Could not find the Supplier Name: " & ComboName & " Do you wish to register a New Supplier: " & ComboName & " in this Database?", 4 + 48) If Response = IDYES Then MyRS.AddNew ' Create new record. MyRS("Name") = Screen.ActiveControl MyRS.Update ' Save changes. MyRS.Move 0, MyRS.LastModified ' Go to new record Me.Bookmark = MyRS.Bookmark ' Go to new record Else GoTo Endsub End If Else MyRS.AddNew ' Create new record. MyRS("Name") = Screen.ActiveControl MyRS("Cust_ID") = MyRS("Name") MyRS.Update ' Save changes. MyRS.Move 0, MyRS.LastModified ' Go to new record Me.Bookmark = MyRS.Bookmark ' Go to new record
'Me.Bookmark = MyRS.Bookmark
Dim recNo As Long
' for this to work there cannot be any RecordNumber with a value of 0 ' it finds the highest record number for the name in the combo box ' and returns 0 and exits if no record found. recNo = Nz(DMax("[RecordNum]", "Miracle_Cloth_Main", "[Cust_ID]='" & Me.Cust_ID & "'"), 0) Debug.Print "RecordNo: " & recNo & " and Name: '" & Me.Name_Combo & "'" If recNo = 0 Then Exit Sub End If Me.Text90.SetFocus DoCmd.FindRecord "'" & recNo & "'", acAnywhere, , acSearchAll, , acCurrent
End If Endsub: MyRS.Close
End Sub
+++++++++++++++++++++++ The question is is there an easier way to achieve the summing function ?
I created a search form (using code from here) that searches serveral fields and displays the results in a listbox. I also created a clear button to clear the fields, including the listbox. I can search all day and it works fine, and the CLEAR button clears out the fields fine but once I have clicked the CLEAR button, I cannot search anymore. I don't get any results anymore (until I close and reopen). It must be something simple that I am overlooking so any hints would be appreciated. Here is my code (sorry it's long!):
Private Sub cmdClearForm_Click() On Error GoTo Err_cmdClearForm_Click
Dim I As Integer
' Cycle through the form's controls, testing for text, ' and clear each field. For I = 0 To Me.Count - 1 If TypeOf Me(I) Is TextBox Then Me(I) = "" ElseIf TypeOf Me(I) Is ListBox Then Me(I).RowSource = " " End If Next
End Sub Private Sub cmdSearch_Click() On Error GoTo Err_cmdSearch_Click
Dim strSQL As String, strOrder As String, strWhere As String, strOrderChoice As String Dim db As DAO.Database 'Dim qryDef As QueryDef Set db = CurrentDb()
If Not IsNull(Me.txtMacAddr1) Then strWhere = strWhere & "(tblAsset.MacAddr1) like '*" & Me.txtMacAddr1 & "*' and " strOrderChoice = "tblAsset.MacAddr1" End If
If Not IsNull(Me.txtMacAddr1) Then strWhere = strWhere & "(tblAsset.MacAddr2) like '*" & Me.txtMacAddr1 & "*' and " strOrderChoice = "tblAssest.MacAddr2" End If
If Not IsNull(Me.txtSerialNum) Then strWhere = strWhere & "(tblAsset.SerialNum) like '*" & Me.txtSerialNum & "*' and " strOrderChoice = "tblAsset.SerialNum" End If
If Not IsNull(Me.txtIPAddress) Then strWhere = strWhere & "(tblIPAddresses.IPAddress) like '*" & Me.txtIPAddress & "*' and " strOrderChoice = "tblIPAddresses.IPAddress" End If
If Not IsNull(Me.txtHostName) Then strWhere = strWhere & "(tblIPAddresses.HostName) like '*" & Me.txtHostName & "*' and " strOrderChoice = "tblIPAddresses.HostName" End If
If Not IsNull(Me.txtJackNumber) Then strWhere = strWhere & "(tblLocation.JackNumber) like '*" & Me.txtJackNumber & "*' and " strOrderChoice = "tblLocation.JackNumber" End If
If Not IsNull(Me.txtCircuitID) Then strWhere = strWhere & "(tblLocation.CircuitID) like '*" & Me.txtCircuitID & "*' and " strOrderChoice = "tblLocaton.CircuitID" End If
If Not IsNull(Me.txtBuilding) Then strWhere = strWhere & "(tblLocation.Building) like '*" & Me.txtBuilding & "*' and " strOrderChoice = "tblLocation.Building" End If
I have a wild card search query (Like "*" & [Forms]![search]![Text0] & "*") that works very well. I want to be able to have the phrase that user types in highlighted when it returns the search results on a form. I found the following thread that asks the same question using Conditional formating, but the suggested answer doesn't work. Any ideas?
I made a form that lets users search for records in a database and displays them in another form. In that form I've made 3 buttons to let users narrow down the results to show only certain items within the search results.
Now, 2 of the buttons show specific items and the third one toggles the form to display all the records. So lets say I'm filtering records by whether or not they contain the words "car" and "truck." If a record has "car" but not truck and I click the button to sort by "truck" then the search result goes blank, which is ok. But if I click "car" or "show all" to display everything again then the search result stays blank.
This doesn't happen with records that contain both "car" and "truck."
For every button I have something like this: DoCmd.OpenForm "AdminSearchResults", , "SOW", "VendName = '" & VendName & "'", , , "'VendName'"
I know my explanation may suck, but if anyone can help me, that would be great, lol
When you use a combobox to search values in the form - and someone searches for a value that isn't there - the form just defaults to the first entry. Is there a way of putting a message box that says "This is a new patient" (or something like that). The NotInList event doesn't work - any ideas??
I created Advanced search (Multi- Field) form and its work perfect but I want to add a combo box for search [Date Removed] and the options is "Active" and "Inactive".
The users may not enter [Date Removed] which mean its Null ( also which mean in my project company / Combo box its "Active" ).
In another hand, if users enter [Date Removed] which mean it's not Null ( also which mean in my project company / Combo box its "Inactive").
In short, if user chose "Active" it will search for nulls/empty column in [Date Removed] if user chose "Inactive" it will search for filled column in [Date Removed]
The code is attached:-
Private Function BuildFilter() As Variant Dim varWhere As Variant Dim tmp As String tmp = """" Const conJetDate = "#mm/dd/yyyy#"
I have generated a combobox search for my form and I am able to select names that are different and the information is generated on the form. However, when I have two names that have the same last name my selection will default to the primary key instead of the name I selected in the combobox. Here is the code I am using:
Here is my RowSource: SELECT [Client Info].CltLname, [Client Info].CltFname, [Client Info].DOB, [Client Info].[Last 4 SSN] FROM [Client Info] ORDER BY [Client Info].CltLname, [Client Info].CltFname;
I have run a query to sort by CltLname and then by CltFname
Private Sub cboClientSearch_AfterUpdate() 'Moves to Customer Name text box and 'finds the record of whatever name is selected in the combo box DoCmd.ShowAllRecords Me!CltLname.SetFocus DoCmd.FindRecord Me!cboClientSearch 'Set value of combo box equal to an empty string Me!cboClientSearch.Value = "" End Sub
how to get the combobox to display what I have selected instead of defaulting to the earliest primary key associated with the same last name?
Using Access 2000 is it possible to specify a starting location ie (c:) and using VBA search every sub folder from this point for files ending .mdb or .xls?
I want to be able to build a table with an record showing the file name and directory for each file found.
Item: Access app front end for an SQL database (production tracking/job logging utility)
Problem: The app has a main search page that allows job entries to be located and opened by varies criteria (job#, job name, etc). I can currently run multiple searches on different criteria successfully but if I open a job window(which has been returned as result of my search) and then close that job window to do a new search my search function will no longer return any results(other then “Calculating….”) unless I close out the access app and reload.
Thanks in advance for any ideas that can point me in the right direction to hunt down my bug.
I did a search and i found a thread that seemed like it would answer my question but for some reason the attachment isnt working. :(
Okay heres the question..
I have a form and it contains 3 fields and 3 command buttons. When i hit the command button it uses a query to display the results. What i want to do is instead of having the results display in a new window, i would like it to display on the same form .. maybe on the bottom of it. Should i use a subform or listbox/combobox..
***Updated*** Search/Email Results has been solved....Working out some bugs and trying to add a Print Address Labels option to the search. The post at Date Nov. 5, 11:4x is the new post with updated info. Thanks! ***Updated***
I have read a ton in the last hour or so on this subject and gained a little insite, but since I have no Access programing experience I am still pretty lost. However, I have programing experience in other areas, so if it requires some macros, I shouldn't have too much trouble. /crossfingers
I have put together a database for the business I work for that contains around 3,000 contacts. I am trying to figure out a way to do a search that will search out specific contacts and email them a newsletter. Their email address is included in their contact information. So I assume I need a way to search for a specific criteria, grab their email address, and then email them with either an attached document, a prior written email, or have included the newsletter in the body of the code to add into the created email.