PC Review


Reply
Thread Tools Rate Thread

Combo box finding wrong record

 
 
KAquestions
Guest
Posts: n/a
 
      13th May 2010
Hi all,

This is driving me nutty! And i know it's probably something really obvious
that i am just not seeing.....

I have a form which has a combo box on it. The combo box has 3 columns,

First Name, Surname, ClientID

(SELECT qryClientDetails.FirstName, qryClientDetails.SurName,
qryClientDetails.ClientID FROM qryClientDetails ORDER BY
qryClientDetails.FirstName

When the bound column is 1, it works, but only up to a point. If there are
two clients called Robert (Robert A and Robert B) and i want Robert B, when
i click on him it always displays the data for Robert A.

When the bound column is 3, it always shows the last record in the table, no
matter what i have selected.

HELP!!

TIA,

Kirst


 
Reply With Quote
 
 
 
 
golfinray
Guest
Posts: n/a
 
      13th May 2010
Column numbering starts with zero. So column 3 to the combo is actually
column 4, which means nothing. Also, what is your PK? try putting your PK in
column zero and just setting the column width of it to 0" and make it the
bound column.
--
Milton Purdy
ACCESS
State of Arkansas


"KAquestions" wrote:

> Hi all,
>
> This is driving me nutty! And i know it's probably something really obvious
> that i am just not seeing.....
>
> I have a form which has a combo box on it. The combo box has 3 columns,
>
> First Name, Surname, ClientID
>
> (SELECT qryClientDetails.FirstName, qryClientDetails.SurName,
> qryClientDetails.ClientID FROM qryClientDetails ORDER BY
> qryClientDetails.FirstName
>
> When the bound column is 1, it works, but only up to a point. If there are
> two clients called Robert (Robert A and Robert B) and i want Robert B, when
> i click on him it always displays the data for Robert A.
>
> When the bound column is 3, it always shows the last record in the table, no
> matter what i have selected.
>
> HELP!!
>
> TIA,
>
> Kirst
>
>
> .
>

 
Reply With Quote
 
KAquestions
Guest
Posts: n/a
 
      14th May 2010
Hi Bruce,

Thanks very much for your response. I have done all that, but keep getting
the following error message

"Run Time Error 3464 : Data type mismatch in criteria expression"

I don't know where i should be looking to fix this. [ClientID] is a PK
field, which is Text - it's basically an ID number, but NOT autogenerated.
Will this be something to do with it?

Also, when i click debug, the line highlighted is:

rs.FindFirst "[ClientID] = " & Me.cboClient

Any further help would be much appreciated,

Kirst

"BruceM via AccessMonster.com" <u54429@uwe> wrote in message
news:a7f4a440ac435@uwe...
> I'm guessing you have After Update combo box code along the lines of:
>
> Dim rs As Object
>
> Set rs = Me.RecordsetClone
> rs.FindFirst "[FirstName] = '" & Me.cboClient & "'"
> Me.Bookmark = rs.Bookmark
>
> If so, the FindFirst is producing the results you are seeing. It is
> finding
> the first instance of Robert, no matter who you select. Instead, you
> could
> set up the row source query thus:
>
> SELECT [ClientID], [Surname] & "," & [FirstName] AS FullName
> FROM qryClientDetails
> ORDER BY [Surname], [FirstName]
>
> Note that it is a two-column query. I am assuming ClientID is unique for
> each record, and that it is a number (including autonumber) field. Set
> the
> combo box Bound Column to 1, the Column Count to 2, and the Bound Columns
> to
> something like 0";2".
>
> Your After Update code should be changed to something like:
>
> Dim rs As Object
>
> Set rs = Me.RecordsetClone
> rs.FindFirst "[ClientID] = " & Me.cboClient
> Me.Bookmark = rs.Bookmark
>
> This finds the first record in which ClientID matches the combo box
> selection.
> Since ClientID is unique, the first matching record is the only one.
>
> You may have something like this for the third line of code:
> If Not rs.EOF Then Me.Bookmark = rs.Bookmark
>
> That's OK. I generally do not use "If Not rs.EOF Then", but it does no
> harm,
> AFAIK, and may help in circumstances I have not yet encountered.
>
> KAquestions wrote:
>>Hi all,
>>
>>This is driving me nutty! And i know it's probably something really
>>obvious
>>that i am just not seeing.....
>>
>>I have a form which has a combo box on it. The combo box has 3 columns,
>>
>>First Name, Surname, ClientID
>>
>>(SELECT qryClientDetails.FirstName, qryClientDetails.SurName,
>>qryClientDetails.ClientID FROM qryClientDetails ORDER BY
>>qryClientDetails.FirstName
>>
>>When the bound column is 1, it works, but only up to a point. If there are
>>two clients called Robert (Robert A and Robert B) and i want Robert B,
>>when
>>i click on him it always displays the data for Robert A.
>>
>>When the bound column is 3, it always shows the last record in the table,
>>no
>>matter what i have selected.
>>
>>HELP!!
>>
>>TIA,
>>
>>Kirst

>
> --
> Message posted via AccessMonster.com
> http://www.accessmonster.com/Uwe/For...forms/201005/1
>



 
Reply With Quote
 
KAquestions
Guest
Posts: n/a
 
      14th May 2010
Have tried both!

Now i have no error messages, but no matter what i pick the same record
comes up - the first one in the query?

Kirst

"BruceM via AccessMonster.com" <u54429@uwe> wrote in message
news:a7fdd05e5dc44@uwe...
> Quote marks are different for a text field. If ClientID is text you need
> to
> use:
>
> rs.FindFirst "[ClientID] = ' " & Me.cboClient & " ' "
>
> This assumes the bound column of cboClient is ClientID.
>
> If ClientID (or any text field) is in an expression such as the above, and
> records may contain an apostrophe (e.g. Joe's Garage) you need a different
> approach to the quotes:
>
> rs.FindFirst "[ClientID] = " " " & Me.cboClient & " " " "
>
> I added spaces between the quotes for clarity. If you add spaces the VBA
> editor will get rid of them.
>
>
> KAquestions wrote:
>>Hi Bruce,
>>
>>Thanks very much for your response. I have done all that, but keep getting
>>the following error message
>>
>>"Run Time Error 3464 : Data type mismatch in criteria expression"
>>
>>I don't know where i should be looking to fix this. [ClientID] is a PK
>>field, which is Text - it's basically an ID number, but NOT autogenerated.
>>Will this be something to do with it?
>>
>>Also, when i click debug, the line highlighted is:
>>
>>rs.FindFirst "[ClientID] = " & Me.cboClient
>>
>>Any further help would be much appreciated,
>>
>>Kirst
>>
>>> I'm guessing you have After Update combo box code along the lines of:
>>>

>>[quoted text clipped - 68 lines]
>>>>
>>>>Kirst

>
> --
> Message posted via AccessMonster.com
> http://www.accessmonster.com/Uwe/For...forms/201005/1
>



 
Reply With Quote
 
KAquestions
Guest
Posts: n/a
 
      14th May 2010
I have done it again and got it working, I must have had a typo

I really appreciate all your help, thanks,

Kirst

"KAquestions" <(E-Mail Removed)_(no_spam)> wrote in message
news:(E-Mail Removed)...
> Have tried both!
>
> Now i have no error messages, but no matter what i pick the same record
> comes up - the first one in the query?
>
> Kirst
>
> "BruceM via AccessMonster.com" <u54429@uwe> wrote in message
> news:a7fdd05e5dc44@uwe...
>> Quote marks are different for a text field. If ClientID is text you need
>> to
>> use:
>>
>> rs.FindFirst "[ClientID] = ' " & Me.cboClient & " ' "
>>
>> This assumes the bound column of cboClient is ClientID.
>>
>> If ClientID (or any text field) is in an expression such as the above,
>> and
>> records may contain an apostrophe (e.g. Joe's Garage) you need a
>> different
>> approach to the quotes:
>>
>> rs.FindFirst "[ClientID] = " " " & Me.cboClient & " " " "
>>
>> I added spaces between the quotes for clarity. If you add spaces the VBA
>> editor will get rid of them.
>>
>>
>> KAquestions wrote:
>>>Hi Bruce,
>>>
>>>Thanks very much for your response. I have done all that, but keep
>>>getting
>>>the following error message
>>>
>>>"Run Time Error 3464 : Data type mismatch in criteria expression"
>>>
>>>I don't know where i should be looking to fix this. [ClientID] is a PK
>>>field, which is Text - it's basically an ID number, but NOT
>>>autogenerated.
>>>Will this be something to do with it?
>>>
>>>Also, when i click debug, the line highlighted is:
>>>
>>>rs.FindFirst "[ClientID] = " & Me.cboClient
>>>
>>>Any further help would be much appreciated,
>>>
>>>Kirst
>>>
>>>> I'm guessing you have After Update combo box code along the lines of:
>>>>
>>>[quoted text clipped - 68 lines]
>>>>>
>>>>>Kirst

>>
>> --
>> Message posted via AccessMonster.com
>> http://www.accessmonster.com/Uwe/For...forms/201005/1
>>

>
>



 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
RE: finding a record based on a combo box choice Heidi Microsoft Access Form Coding 2 1st Oct 2008 09:32 PM
Combo box not finding record... sometimes Manuel Microsoft Access Form Coding 3 31st Aug 2008 02:27 AM
Combo box not finding correct record =?Utf-8?B?QW5uZWc=?= Microsoft Access Forms 2 25th Feb 2005 05:25 AM
Finding a Record based on a Combo Box D Collins Microsoft Access Form Coding 4 27th Jan 2005 04:20 PM
Finding a Record with a Multiple Combo Boxes RobESD Microsoft Access Form Coding 2 13th Jan 2004 09:48 AM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 04:46 PM.