[AccessD] Rename labels and bind textboxes programmatically

Sad Der accessd666 at yahoo.com
Fri Oct 31 06:57:49 CST 2003


Hi group,

I need to create a lot of forms. All with the same
layout.
Top of the page has a listbox (lstHeader) that shows
all fields/records from a table.
Bottom of the page has 11-54 textboxes (the number of
textboxes equals the number of columns in the textbox)

The labels are named: lbl1..through lbl54
The textboxes are named: txt1 through txt54

I want to:
1 - rename the labels to match the column name
2 - bind the rControlSource prop of the textbox to
link to the approp. listbox column e.g.:
txt1.controlsource = lstHeader.column(1)

Can anybody give me some tips on how to do steps 1 and
2? I've added my code below.

TIA

SD


Private Sub Form_Load()
   Dim rst As ADODB.Recordset
   Dim fld As ADODB.Field
   Dim intFldCount As Integer
'-------------------------------------------
   Dim intI As Integer
   Dim frm As Form
   Dim intfrmCount As Integer
   Dim astrCtlName() As String
   Dim astrColName() As String
   Dim i As Integer
   Dim intCnt As Integer
'-------------------------------------------
   'add rowsource to listbox
   lstHeader.RowSource = "tblTest"
   
   'Count columns
   Set rst = New ADODB.Recordset
   rst.Open "[tblTest]", CurrentProject.Connection
   intFldCount = rst.Fields.Count
   
   'Initialize the array to hold control names
   ReDim astrColName(0 To intFldCount - 1)
   
   'Store columnnames in Array
   For intI = 0 To rst.Fields.Count - 1
      Set fld = rst.Fields(intI)
      astrColName(intI) = fld.Name
   Next intI
 
   'loop through columns
   For i = 0 To intFldCount - 1
      Debug.Print astrColName(i)
   Next i

   'Count form objects
   Set frm = Forms("Form1XXXX")
   intfrmCount = frm.Count

   For i = 0 To intfrmCount - 1
      Debug.Print frm(i).ControlType
      Select Case frm(i).ControlType
         Case acLabel
            'rename the label
            Debug.Print frm(i).Name
         Case acTextBox
            'link textbox to lstHeader.column(i)
            Debug.Print frm(i).Name
         Case Else
      End Select
   Next i
End Sub


__________________________________
Do you Yahoo!?
Exclusive Video Premiere - Britney Spears
http://launch.yahoo.com/promos/britneyspears/


More information about the AccessD mailing list