Solved

Change subform Column Widths with VBA?

Posted on 2004-04-17
9
648 Views
Last Modified: 2006-11-17
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.
0
Comment
Question by:TristanRyan
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
9 Comments
 
LVL 54

Accepted Solution

by:
nico5038 earned 100 total points
ID: 10850170
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
 
LVL 1

Author Comment

by:TristanRyan
ID: 10850997
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
 
LVL 54

Expert Comment

by:nico5038
ID: 10851064
For that you need to add .form like:
me.subForm.Form.cboAssignedTo

Nic;o)
0
Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

 
LVL 1

Author Comment

by:TristanRyan
ID: 10854218
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
 
LVL 54

Expert Comment

by:nico5038
ID: 10854277
Try:
me.recordsource = me.recordsource

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

Nic;o)
0
 
LVL 1

Author Comment

by:TristanRyan
ID: 10855214
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
 
LVL 54

Expert Comment

by:nico5038
ID: 10855233
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
 
LVL 1

Author Comment

by:TristanRyan
ID: 10855611
Well, nope... but good idea. The solution: I just created a new form and did me.subform.sourceobject ... works like a charm.

0
 
LVL 54

Expert Comment

by:nico5038
ID: 10855631
Glad it worked out, success with the application !

Nic;o)
0

Featured Post

Enroll in June's Course of the Month

June’s Course of the Month is now available! Experts Exchange’s Premium Members, Team Accounts, and Qualified Experts have access to a complimentary course each month as part of their membership—an extra way to sharpen your skills and increase training.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It’s the first day of March, the weather is starting to warm up and the excitement of the upcoming St. Patrick’s Day holiday can be felt throughout the world.
This article describes two methods for creating a combo box that can be used to add new items to the row source -- one for simple lookup tables, and one for a more complex row source where the new item needs data for several fields.
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question