サブフォームを持つフォームがあります。このサブフォームは、動的に作成されたクエリの結果を表示します (ユーザーが条件を入力し、SQL を作成し、クエリ定義を更新して表示します)。問題は、列が動的であるため、列の幅がうまくいかず、一部がテキストを切り取っていることです。
プログラムで列をループする (またはループなしで同じことをする) 方法はありますか? クエリが更新された後、それらをすべて最適な幅に設定しますか?
編集:私のコードは次のようになります:
CurrentDb.QueryDefs("SearchResults").sql = sql
CurrentDb.QueryDefs.Refresh
Dim qdf1 As DAO.QueryDef
Dim fld1 As DAO.Field
Set qdf1 = CurrentDb.QueryDefs("SearchResults")
For i = 0 To qdf1.Fields.Count - 1
Set fld1 = qdf1.Fields(i)
fld1.CreateProperty "ColumnWidth", dbInteger
fld1.Properties("ColumnWidth") = -2 'Throws error
Set fld1 = Nothing
Next i
Me.Child20.SourceObject = "Query.SearchResults"