[AccessD] .NET

Jim Lawrence (AccessD) accessd at shaw.ca
Sat Feb 22 17:16:00 CST 2003


Hi Patricio:

I am not sure I am reading completely clear but here are two ways to set the
display value of the combo box:

1. Set the value of the bound column and the appropriate field will display.

	cmbMyComboBox = intBoundValue

2. You can completely control a combo boxes content and data location by
taking control yourself. This is done by adding a function call to
ComboBoxes' RowSourceType property and creating that function with a
specific layout. See below for two examples simple cut and pasted from
Access help.

....

The following user-defined function returns a list of the next four Mondays
following today's date. To call this function from a list box control, enter
ListMondays as the RowSourceType property setting and leave the RowSource
property setting blank.

Function ListMondays(fld As Control,id As Variant,row As Variant,col As
Variant,code As Variant) As Variant
	Dim intOffset As Integer
	Select Case code
		Case acLBInitialize				' Initialize.
			ListMondays = True
		Case acLBOpen						' Open.
			ListMondays = Timer			' Unique ID.
		Case acLBGetRowCount				' Get rows.
			ListMondays = 4
		Case acLBGetColumnCount		' Get columns.

ListMondays = 1
		Case acLBGetColumnWidth		' Get column width.
			ListMondays = -1				' Use default width.
		Case acLBGetValue					' Get the data.
			intOffset = Abs((9 - Weekday(Now))Mod 7)
			ListMondays = Format(Now() + intOffset + 7 * row,"mmmm d")
	End Select
End Function

The next example uses a static array to store the names of the databases in
the current directory. To call this function, enter ListMDBs as the
RowSourceType property setting and leave the RowSource property setting
blank.

Function ListMDBs(fld As Control, id As Variant, row As Variant, col As
Variant, code As Variant) As Variant
	Static dbs(127) As String, Entries As Integer
	Dim ReturnVal As Variant
	ReturnVal = Null
	Select Case code
		Case acLBInitialize				' Initialize.
			Entries = 0
			dbs(Entries ) = Dir("*.MDB")
			Do Until dbs(Entries) = "" Or Entries >= 127
				Entries = Entries+1
				dbs(Entries) = Dir

Loop
			ReturnVal = Entries
		Case acLBOpen						' Open.
			ReturnVal = Timer				' Generate unique ID for control.
		Case acLBGetRowCount				' Get number of rows.
			ReturnVal = Entries
		Case acLBGetColumnCount		' Get number of columns.
			ReturnVal = 1
		Case acLBGetColumnWidth		' Column width.
			ReturnVal = -1					' -1 forces use of default width.
		Case acLBGetValue					' Get data.
			ReturnVal = dbs(row)

Case acLBEnd						' End.
			Erase dbs
	End Select
	ListMDBs = ReturnVal
End Function
....

The above may be over-kill but I use a similar setup (class) for all my
combo boxes and it is the root to the ultimate combo box control system.

HTH
Jim

-----Original Message-----
From: accessd-admin at databaseadvisors.com
[mailto:accessd-admin at databaseadvisors.com]On Behalf Of Patricio
Galleguillos
Sent: Saturday, February 22, 2003 2:12 PM
To: accessd at databaseadvisors.com
Subject: RE: [AccessD] .NET


Dear Group

In a combo box that displays a list of values... How can I make the
default value equal to the first element in the list so as not to have a
blank when it first opens. The list of values is generated after the
form opens.

Thanks in advance

Saludos Cordiales,
Patricio Galleguillos

pgallegu at chilesat.net




_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com




More information about the AccessD mailing list