1

Hallo Ich habe eine Access-Datenbank und eine einfache Change-Record-Tabelle.Festlegen der Spaltenbreite in der DataSheet-Ansicht in geteilter Form

Ich habe auch ein Formular, wo ich alle Felder in der oberen Hälfte des Bildschirms und eine Datenblattansicht in der Unterseite habe. Siehe unten. enter image description here

Ich versuche, die Spaltenbreiten gleichmäßig über die gesamte Breite des Bildschirms verteilt, aber bisher nicht erfolgreich.

Mein Code ist wie folgt:

Private Sub Form_Load() 
 

 
Dim currentFormWidth As Integer 
 

 
currentFormWidth = Me.Width 
 

 
MsgBox ("Current width of my form is : " & currentFormWidth) 
 

 
Dim standardColumnWidth As Integer 
 
standardColumnWidth = currentFormWidth/13 ' Columns of Data to display 
 

 
Me.Target_Date.ColumnWidth = standardColumnWidth 
 
Me.Change_Type.ColumnWidth = standardColumnWidth 
 
Me.FullName.ColumnWidth = standardColumnWidth 
 
Me.CDSID.ColumnWidth = standardColumnWidth 
 
Me.Grade.ColumnWidth = standardColumnWidth 
 
etc... 
 

 
End Sub

Die Spaltenbreiten unverändert bleiben. Ich würde erwarten, dass alle Spalten in der Datenblattansicht von rechts nach links passen. Ich denke, ich greife nicht in der richtigen Syntax. Ich denke, es sollte etwas wie das folgende sein: FormName.SubFormName.Target_Date.ColumnWidth = standardColumnWidth ???

Jede Anleitung wäre willkommen. Danke im Voraus.

Antwort

2

Ich denke, Sie sind auf dem richtigen Weg. Um auf ein Unterformular aus dem Hauptform müssen Sie es wie dies zu tun:

Me.subFormControlName.Form.Target_Date.ColumnWidth = standardColumnWidth 

Beachten Sie, die Steuerelement nicht der Formularnamen des Unterformulars zu verwenden!

Siehe meine Antwort hier: Referring to a Subform from a Query