Pretorian
Дата: 29.02.2008 17:52:10
как я понял, сабж стандартными средствами не реализуется
получается статика, которая при следующем запуске с другими данными нос кажет
видел наброски динамического скриптового подхода
правда, для отчета
но что-то не особо впечатлился
народ, поделитесь, пожалуйста, идеями, возможно, даже наработками в этом направлении
sander1
Дата: 29.02.2008 18:33:13
Недавно реализовывал подобную вещь. На подчиненную форму добавляется одно поле под известный первый столбец, прописывается соответствующее значение в его свойство "данные". Далее накидывается некоторое количество полей (максимально возможное), свойства полей инициализируются приводимым ниже скриптом.
Public Sub ОбновлениеФормы()
Dim db As Database
Set db = CurrentDb
Dim j As Integer
Dim FieldsCounter As Integer
Dim CurrentColumn As String
FieldsCounter = 0
For j = 0 To Me.Form.Controls.Count - 1
If Me.Form.Controls.Item(j).ControlType = 109 Then 'Поле
If Me.Form.Controls.Item(j).Controls.Count > 0 Then
FieldsCounter = FieldsCounter + 1
If FieldsCounter <= db.QueryDefs("МойПерекрестныйЗапрос").Fields.Count - 1 Then
CurrentColumn = db.QueryDefs("МойПерекрестныйЗапрос").Fields(FieldsCounter).Name
Me.Form.Controls.Item(j).Controls(0).Caption = CurrentColumn
Me.Form.Controls.Item(j).ControlSource = CurrentColumn
Me.Form.Controls.Item(j).ColumnHidden = False
Else
Me.Form.Controls.Item(j).ColumnHidden = True
End If
End If
End If
Next j
Me.Requery
End Sub