Hi,

If you want to populate combo boxes using minimum code then create saperate
function to populate combobox and then call that function for each
combobox. Following is the sample code:

1. Create function to populate combobox

Function populateCombo(rst as ADODB.Recordset, cmb as ComboBox)
     With cmb
     .Clear
     Do
          .AddItem rst.Field(0).Value
          rst.MoveNext
     Loop Until rst.EOF
    End With
End Function

2. Function is created, now you can call above function to populate cmbo
boxes

Set com = New ADODB.Command
    With com
        .ActiveConnection = con
        .CommandText = "Select DISTINCT [Date] from DR ORDER BY [Date]"
'       .CommandText = "Select * From DR"
        .CommandType = adCmdText
    End With
    Set rst = New ADODB.Recordset
    rst.LockType = adLockOptimistic
    rst.Open com

    populateCombo rst, Worksheets("Sheet1").ComboBox1
    rst.close

    With com
        .ActiveConnection = con
        .CommandText = "Select DISTINCT [Cell] from DR ORDER BY [Cell]"
        .CommandType = adCmdText
    End With

    Set rst = New ADODB.Recordset
    rst.LockType = adLockOptimistic
    rst.Open com

    populateCombo rst, Worksheets("Sheet1").ComboBox2
    rst.close

Hope this will help you.

Regards,

Swapnil.

On Thu, Sep 13, 2012 at 3:52 PM, wirelesscellularguy <
wirelesscellular...@gmail.com> wrote:

> Hi Swapnil,
>
> I could populate the 2ns combo-box by repeating the code used to populate
> ComboBox1. But in this way, if i need to populate other ActiveX Controls,
> the code size will become unnecessarily large. Can it be done with few code
> lines? I am pasting the code used by me to populate the two ComboBoxes
> below-
>
> Set com = New ADODB.Command
>
>     With com
>         .ActiveConnection = con
>         .CommandText = "Select DISTINCT [Date] from DR ORDER BY [Date]"
> '       .CommandText = "Select * From DR"
>
>         .CommandType = adCmdText
>     End With
>
>     Set rst = New ADODB.Recordset
>     rst.LockType = adLockOptimistic
>     rst.Open com
>
>     With Worksheets("Sheet1").ComboBox1
>         .Clear
>         Do
>             .AddItem rst![Date]
>             rst.MoveNext
>         Loop Until rst.EOF
>     End With
>
>     With com
>         .ActiveConnection = con
>         .CommandText = "Select DISTINCT [Cell] from DR ORDER BY [Cell]"
> '         .CommandText = "Select * From DR"
>
>         .CommandType = adCmdText
>     End With
>
>     Set rst = New ADODB.Recordset
>     rst.LockType = adLockOptimistic
>     rst.Open com
>
>     With Worksheets("Sheet1").ComboBox2
>         .Clear
>         Do
>             .AddItem rst![Cell]
>             rst.MoveNext
>         Loop Until rst.EOF
>     End With
>
> Regards,
> Wireless
>
>
> On Thursday, September 13, 2012 3:09:23 PM UTC+5:30, Swapnil Palande wrote:
>
>>  Hi,
>>
>> You can populate the combo-box with unique items using "Select distinct "
>> query
>>
>> Do following steps:
>> 1. Store "Select distinct" query data in Record Set
>> 2. Loop through record set and add values to the Combo Box
>>
>> Regards,
>>
>> Swapnil.
>>
>>
>>  On Thu, Sep 13, 2012 at 11:21 AM, wirelesscellularguy <
>> wirelessc...@gmail.com**> wrote:
>>
>>>  Thanks Noorain. I couldn't reply in time as I was not keeping well.
>>>
>>> I worked with the procedure suggested by Swapnil and moved ahead. And
>>> now I got an obstruction. In the excel sheet, I am using an combo-box and
>>> want to populate the combo-box with 'Items' category in the Access
>>> Database. The 'Items' re-occur in the database, so i need to populate the
>>> combo-box with unique Items only. I suppose I can do this by clicking the
>>> property of the Access Query.
>>>
>>> Please help.
>>>
>>>
>>> Regards,
>>> Wireless
>>>
>>> On Thursday, August 2, 2012 6:59:45 PM UTC+5:30, wirelesscellularguy
>>> wrote:
>>>>
>>>> Hi All,
>>>>
>>>> I am trying to relate Access data & queries to excel. The excel will be
>>>> the user interface. This excel will contain the various buttons to get
>>>> specific informations and clicking these buttons will fetch the data from
>>>> the access table or queries.
>>>>
>>>> Please suggest how it can be done.
>>>>
>>>> Sincere regards,
>>>> Wireless
>>>>
>>> --
>>> Join official facebook page of this forum @ https://www.facebook.com/**
>>> discussexcel <https://www.facebook.com/discussexcel>
>>>
>>> FORUM RULES (1120+ members already BANNED for violation)
>>>
>>>
>>> 1) Use concise, accurate thread titles. Poor thread titles, like Please
>>> Help, Urgent, Need Help, Formula Problem, Code Problem, and Need Advice
>>> will not get quick attention or may not be answered.
>>>
>>> 2) Don't post a question in the thread of another member.
>>>
>>> 3) Don't post questions regarding breaking or bypassing any security
>>> measure.
>>>
>>> 4) Acknowledge the responses you receive, good or bad.
>>>
>>> 5) Cross-promotion of, or links to, forums competitive to this forum in
>>> signatures are prohibited.
>>>
>>> 6) Jobs posting is not allowed.
>>>
>>> 7) Sharing copyrighted ebooks/pirated ebooks/their links is not allowed.
>>>
>>>
>>> NOTE : Don't ever post personal or confidential data in a workbook.
>>> Forum owners and members are not responsible for any loss.
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "MS EXCEL AND VBA MACROS" group.
>>> To post to this group, send email to excel-...@googlegroups.com.
>>> To unsubscribe from this group, send email to excel-macros...@**
>>> googlegroups.com.
>>>
>>>
>>>
>>
>>  --
> Join official facebook page of this forum @
> https://www.facebook.com/discussexcel
>
> FORUM RULES (1120+ members already BANNED for violation)
>
> 1) Use concise, accurate thread titles. Poor thread titles, like Please
> Help, Urgent, Need Help, Formula Problem, Code Problem, and Need Advice
> will not get quick attention or may not be answered.
>
> 2) Don't post a question in the thread of another member.
>
> 3) Don't post questions regarding breaking or bypassing any security
> measure.
>
> 4) Acknowledge the responses you receive, good or bad.
>
> 5) Cross-promotion of, or links to, forums competitive to this forum in
> signatures are prohibited.
>
> 6) Jobs posting is not allowed.
>
> 7) Sharing copyrighted ebooks/pirated ebooks/their links is not allowed.
>
> NOTE : Don't ever post personal or confidential data in a workbook. Forum
> owners and members are not responsible for any loss.
> ---
> You received this message because you are subscribed to the Google Groups
> "MS EXCEL AND VBA MACROS" group.
> To post to this group, send email to excel-macros@googlegroups.com.
> To unsubscribe from this group, send email to
> excel-macros+unsubscr...@googlegroups.com.
>
>
>

-- 
Join official facebook page of this forum @ 
https://www.facebook.com/discussexcel

FORUM RULES (1120+ members already BANNED for violation)

1) Use concise, accurate thread titles. Poor thread titles, like Please Help, 
Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get 
quick attention or may not be answered.

2) Don't post a question in the thread of another member.

3) Don't post questions regarding breaking or bypassing any security measure.

4) Acknowledge the responses you receive, good or bad.

5)  Cross-promotion of, or links to, forums competitive to this forum in 
signatures are prohibited. 

6) Jobs posting is not allowed.

7) Sharing copyrighted ebooks/pirated ebooks/their links is not allowed.

NOTE  : Don't ever post personal or confidential data in a workbook. Forum 
owners and members are not responsible for any loss.
--- 
You received this message because you are subscribed to the Google Groups "MS 
EXCEL AND VBA MACROS" group.
To post to this group, send email to excel-macros@googlegroups.com.
To unsubscribe from this group, send email to 
excel-macros+unsubscr...@googlegroups.com.


Reply via email to