Change subform Column Widths with VBA?

My combo boxes have 3 columns: 0 is the ID, 1 is in English, and 2 is in French. Can I somehow send a command from a button on my main form to change the sub form Column Widths from 0";2";0" to, say, 0";0";2"? And how about the column header titles?

(My other option is to create 2 forms, but they specifically wanted to be able to change the language on the fly.)

Merci! (oops ... make that column(1) - Thanks!)

T.
LVL 1
TristanRyanAsked:
Who is Participating?
 
nico5038Connect With a Mentor Commented:
Try like:

If Me.txtLanguage = 1 Then
   Me.cmbID.ColumnWidths = "0cm;0cm;2cm"
   Me.Refresh
Else
   Me.cmbID.ColumnWidths = "0cm;2cm;0cm"
   Me.Refresh
End If

Nic;o)
0
 
TristanRyanAuthor Commented:
Hmm. Perhaps I've done something wrong, or explained this incorrectly. That would work, I know, but the problem is that I can't find my combo boxes with my VB editor. My subform is based on a table and is displayed as a datasheet. When I'm in design mode, I can select the fields (say, cboAssignedTo), but I can't seem to find them in my VB editor. I tried me.subForm.Controls.Item(), me.cboAssignedTo, me.subForm.cboAssignedTo ...

Whassup?
0
 
nico5038Commented:
For that you need to add .form like:
me.subForm.Form.cboAssignedTo

Nic;o)
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
TristanRyanAuthor Commented:
Well, it works! Thanks.

The only problem: I refresh AND requery, but the darn things stay in the same language on screen. When I click on the field, however, the drop down displays the correct column.

Should I go a different route, such as simply loading a new form?
0
 
nico5038Commented:
Try:
me.recordsource = me.recordsource

Looks silly but is 100% certain to requery the form :-)

Nic;o)
0
 
TristanRyanAuthor Commented:
Yes, looks silly, but even though it requeries, there's still no change. Perhaps this is just something that Access doesn't do. Hmm. Any suggestions?
0
 
nico5038Commented:
OK, next tricks:
1) Try a repaint
2) Assign the first value to the combo by using:
    me.subForm.Form.cboAssignedTo = me.subForm.Form.cboAssignedTo.Column(0,0)

Nic;o)
0
 
TristanRyanAuthor Commented:
Well, nope... but good idea. The solution: I just created a new form and did me.subform.sourceobject ... works like a charm.

0
 
nico5038Commented:
Glad it worked out, success with the application !

Nic;o)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.