473,386 Members | 1,815 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

filtered rowsource for combo

ok i have a problem here and not much time to play round.
have a form bound to a table. one of the combos is bound to a field
Agents. i have active and retired agents. thing is, i want to be able
to retrieve all agents from the table, but to see only active in
dropdown list of the combo, to asure accurate data entry. if i filter
the agents table for a rowsource to get back only active in the
dropdown, i cant retreive names of the rest when i go through the
records in my form. obviosly they are blank for those guys who are
retired, cos they are not in the dropdown. the only way i see it is to
make a separate form just for dataentry,but there must be an elegant
solution here. whats worse,i bet i had a same situation in access97 and
no problems. now its access2000 . advice will be appreciated.

Nov 13 '05 #1
8 6068
bbdata wrote:
ok i have a problem here and not much time to play round.
have a form bound to a table. one of the combos is bound to a field
Agents. i have active and retired agents. thing is, i want to be able
to retrieve all agents from the table, but to see only active in
dropdown list of the combo, to asure accurate data entry. if i filter
the agents table for a rowsource to get back only active in the
dropdown, i cant retreive names of the rest when i go through the
records in my form. obviosly they are blank for those guys who are
retired, cos they are not in the dropdown. the only way i see it is to
make a separate form just for dataentry,but there must be an elegant
solution here. whats worse,i bet i had a same situation in access97 and
no problems. now its access2000 . advice will be appreciated.


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Are you using an .adp file? There's a difference between the methods
you can use in .adp & .mdb for dynamic ComboBoxes (changing RowSources).
Does your ComboBox have a dynamic RowSource?

The form should be bound to the table or a query that gets both active &
retired agents. The ComboBox should have a RowSource that only gets the
active agents. To say "obviosly they are blank for those guys who are
retired, cos they are not in the dropdown" isn't obvious. If you have
two separate queries (one for the Form, the other for the ComboBox) the
Form should always show all the records in the table and the ComboBox
should show only active agents.

IOW, ideally, you'd have 2 SQL statements for the Form & the ComboBox:

Form - RecordSource Property:
SELECT * FROM Agents

ComboBox - RowSource Property:
SELECT AgentID, AgentName FROM Agents WHERE Active = True

What's your Form's RecordSource property and what's your ComboBox's
RowSource property?

--
MGFoster:::mgf00 <at> earthlink <decimal-point> net
Oakland, CA (USA)

-----BEGIN PGP SIGNATURE-----
Version: PGP for Personal Privacy 5.0
Charset: noconv

iQA/AwUBQijQxYechKqOuFEgEQIZQwCfYQ8KW4frZWq0Ya0VRVX/4C1K8h8AoMFz
HMR3vc3c4LRWp6zS9KWUqMM9
=MG5X
-----END PGP SIGNATURE-----
Nov 13 '05 #2
thanks mgfoster,
my two sql statements look EXACTLY like yours, i just use a query
instead Agents table in first one. otherwise my logic is same as yours.
is there a way to change rowsource in runtime? it should be, like any
other property, but im not sure what event to chose to trigger that
change.
i dont know anything about dynamic rowsources. but im about to find out
..
im using .mdb file.

Nov 13 '05 #3
ok, now i see whats dynamic rowsource. which brings me to a previous
question: when to change it to show only active agents? on BeforeUpdate
of that combo?
and than switch back to all agents AfterUpdate?

Nov 13 '05 #4
well it works if you store the name of the agent in your table that you
use as a datasource, and have the field with the name in a query for a
rowsource, but thats not a way it should be. i want to keep just
agentID, dealID and other ids in my table, as god intended to be kept
in relational database.

Nov 13 '05 #5
bbdata wrote:
ok, now i see whats dynamic rowsource. which brings me to a previous
question: when to change it to show only active agents? on BeforeUpdate
of that combo?
and than switch back to all agents AfterUpdate?


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

What, exactly, are you doing w/ the ComboBox? It sounds like you're
using the ComboBox to filter the Form. Is that correct? If so, the
ComboBox has to be unbound & you'd use the ComboBox's AfterUpdate event
to change the Form's RecordSource. E.g.:

Private Sub ComboBox_AfterUpdate()

Me.RecordSource = "SELECT * FROM Agents WHERE AgentID = " & _
Me!ComboBox

End Sub

This would show only the Agent selected in the ComboBox.

The ComboBox's properties would be something like this:
ControlSource: <nothing>
BoundColumn: 1
RowSourceType: Table/Query
RowSource: SELECT AgentID, AgentName FROM Agents ORDER BY AgentName
ColumnCount: 2
ColumnWidths: 0";2"

--
MGFoster:::mgf00 <at> earthlink <decimal-point> net
Oakland, CA (USA)

-----BEGIN PGP SIGNATURE-----
Version: PGP for Personal Privacy 5.0
Charset: noconv

iQA/AwUBQijleIechKqOuFEgEQJhWwCbBCHVwlq34I6AJXjVwzvwNt XlZVoAoN+n
e7GJ1JqRaQNF+73q0DZBKngR
=IkcD
-----END PGP SIGNATURE-----
Nov 13 '05 #6
> -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

What, exactly, are you doing w/ the ComboBox? It sounds like you're
using the ComboBox to filter the Form. Is that correct? If so, the
ComboBox has to be unbound & you'd use the ComboBox's AfterUpdate event
to change the Form's RecordSource. E.g.:

Private Sub ComboBox_AfterUpdate()

Me.RecordSource = "SELECT * FROM Agents WHERE AgentID = " & _
Me!ComboBox

End Sub

This would show only the Agent selected in the ComboBox.

The ComboBox's properties would be something like this:
ControlSource: <nothing>
BoundColumn: 1
RowSourceType: Table/Query
RowSource: SELECT AgentID, AgentName FROM Agents ORDER BY AgentName
ColumnCount: 2
ColumnWidths: 0";2"

--
MGFoster:::mgf00 <at> earthlink <decimal-point> net
Oakland, CA (USA)

-----BEGIN PGP SIGNATURE-----
Version: PGP for Personal Privacy 5.0
Charset: noconv

iQA/AwUBQijleIechKqOuFEgEQJhWwCbBCHVwlq34I6AJXjVwzvwNt XlZVoAoN+n
e7GJ1JqRaQNF+73q0DZBKngR
=IkcD
-----END PGP SIGNATURE-----


not at all, mgfoster. form is filtered before, filter not afecting
that particular combo.
i simply use the form to review/enter some transaction. one of the
parameters of that transaction is AgentName. Agents may come and go,
but deals are still active . so out of 100 deals, 25 has AgentName
field of an agent who is not employed any more. i need to see those
AgentNames as i am going through the records,(or when creating
reports, for that matter), but when a new transaction has to be
entered, i want to see only the names of currently employed, active
agents in the dropdown list of the combo. So thats why i need a combo
to be bound to AgentName field in Transaction table( which is a
datasource for the form) .
so when i filter the rowsource of the combo(select...from...where
agents=active), i do get only active AgentNames, but at the same time
, i cant see the name of non-active AgentName when such a transaction
comes up.
i explained before , when i store AgentNames in the transaction table
everything is ok, but thats not really the way things should be.
i need to mention that this is only a temp soluton, as in near future
agent will log to start their session, and there will be no need for
that combo. but now i need to have it .
Nov 13 '05 #7
bbdata wrote:

< SNIP >
i simply use the form to review/enter some transaction. one of the
parameters of that transaction is AgentName. Agents may come and go,
but deals are still active . so out of 100 deals, 25 has AgentName
field of an agent who is not employed any more. i need to see those
AgentNames as i am going through the records,(or when creating
reports, for that matter), but when a new transaction has to be
entered, i want to see only the names of currently employed, active
agents in the dropdown list of the combo. So thats why i need a combo
to be bound to AgentName field in Transaction table( which is a
datasource for the form) .
so when i filter the rowsource of the combo(select...from...where
agents=active), i do get only active AgentNames, but at the same time
, i cant see the name of non-active AgentName when such a transaction
comes up.
i explained before , when i store AgentNames in the transaction table
everything is ok, but thats not really the way things should be.
i need to mention that this is only a temp soluton, as in near future
agent will log to start their session, and there will be no need for
that combo. but now i need to have it .


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I believe I have it now: You want to see ALL agents in the ComboBox box
when editing old records; for New records only the ACTIVE agents should
appear in the ComboBox. If my assertion is correct then in the form's
OnCurrent event you will be changing the RowSource of the ComboBox.
E.g.:

Private Sub Form_Current()

Const SQL = "SELECT AgentID, AgentName FROM Agents "

If Me.NewRecord Then
Me!cboAgents.RowSource = SQL & "WHERE Active = True"
Else
Me!cboAgents.RowSource = SQL
End If

End Sub

HTH,
--
MGFoster:::mgf00 <at> earthlink <decimal-point> net
Oakland, CA (USA)

-----BEGIN PGP SIGNATURE-----
Version: PGP for Personal Privacy 5.0
Charset: noconv

iQA/AwUBQiygv4echKqOuFEgEQI9IgCg0RVLsih8SWZywvGbSgIjGc mNJ9cAnjqf
nlXFfxw7nz4k6fgCNhP07tOW
=XjJc
-----END PGP SIGNATURE-----
Nov 13 '05 #8
> Hash: SHA1

I believe I have it now: You want to see ALL agents in the ComboBox box
when editing old records; for New records only the ACTIVE agents should
appear in the ComboBox. If my assertion is correct then in the form's
OnCurrent event you will be changing the RowSource of the ComboBox.
E.g.:

Private Sub Form_Current()

Const SQL = "SELECT AgentID, AgentName FROM Agents "

If Me.NewRecord Then
Me!cboAgents.RowSource = SQL & "WHERE Active = True"
Else
Me!cboAgents.RowSource = SQL
End If

End Sub

HTH,
--
MGFoster:::mgf00 <at> earthlink <decimal-point> net
Oakland, CA (USA)

-----BEGIN PGP SIGNATURE-----
Version: PGP for Personal Privacy 5.0
Charset: noconv

iQA/AwUBQiygv4echKqOuFEgEQI9IgCg0RVLsih8SWZywvGbSgIjGc mNJ9cAnjqf
nlXFfxw7nz4k6fgCNhP07tOW
=XjJc
-----END PGP SIGNATURE-----


thanks mgfoster
didnt know about newrecord property.
i have done somrthin similar, since i have add new deal option on the
swithboard. so i open form in add mode and change rowsource then.
Nov 13 '05 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Krisa | last post by:
Hello all, I just discovered something (stop me if you've heard this before....) that was causing me a significant performance hit when opening a form with subforms. To speed up loading the...
3
by: B | last post by:
I know there are several ways to speed up combo boxes and form loading. Most of the solutions leave rowsource of the combo box blank and set the rowsource to a saved query or an SQL with a where...
7
by: Nicolae Fieraru | last post by:
Hi All, I am trying to change the rowsource of a combobox when I click on it. I played with many events, associated with the form and the combobox, but still haven't figured out what is the way...
6
by: lauren quantrell | last post by:
I have a combo box on a form. It uses the GotFocus event to poopulate the rowsource with a value list that is created on the fly in VBA. Fine and dandy, except, is a user opens another form and...
5
by: dkintheuk | last post by:
Is it possible to set (using VBA) the rowsource for a combo box but have that rowsource come from a pass-through query. I can obviously manually go into the rowsource property and define the...
7
by: bluray | last post by:
I have been fighting with this for a while, and I know someone on this board will be able to figure it out in a split second :) I have a List Box and a Combo Box. Based on the selection the user...
3
by: Thelma Roslyn Lubkin | last post by:
I have a form whose rowsource is a single table, i.e. 'Datasystem'. I use a combobox to search for records in that table based on the value of a single field, i.e., 'systemname'. I use a...
4
by: lulu123 | last post by:
here's my problem 1) rowsource .RowSource = "select distinct , " & "from Projects " & " where =" & Me! I have the above code, and it works fine. however, i want to make the combo box in...
14
kcdoell
by: kcdoell | last post by:
Hello: I have a form (Default view =single form) with a subform (Default view =continuous forms) embedded into it. In the form I have three controls that display the Division, Working Region &...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.