これまで、私は手作業でレポートのコントロールを有限数(12)作成し、ユーザーの選択した数に基づいてコードをオンまたはオフ(正常)にしました。 私のクライアントは、レポート上のコントロールの数に "制限なし"を設定したいと考えています。VBA経由でアクセスレポートのコントロールを作成するにはどうすればよいですか?
私の戦略は、コントロールを削除し、必要な番号をオンザフライで(コードを介して)作成することです。 ただし、コントロールを作成しようとすると、実行時エラー2450「参照されたフォームが見つかりません」が表示されます。 スニペット:
DoCmd.OpenReport "My_report", acViewDesign
Dim ctl As Control
Set ctl = CreateControl(FormName:="My_report", ControlType:=acTextBox, _
Section:=acDetail, left:=2880, top:=0, width:=967, height:=312)
' ... here lies code that adjusts attributes of the controls
DoCmd.OpenReport "My_report", acViewReport
実行がCreateControl
行に一時的に停止させます...参照フォームのMy_report」を見つけることができません。 (作業している場合、実際のCreateControl
コードは変数に置き換えループ形状パラメータになります。)
私が見てきたすべての議論はフォームに関係なく、CreateControl Methodでドキュメントが最初のパラメータがの「名前であると言います開いているフォームまたはレポートを作成するコントロールを作成する "ので、レポートの場合にも機能するはずです。 レポートは、がデザインモードで開いていることに注意してください。私が間違っていることは何か考えていますか?
私は、必要な関数 'CreateReportControl()'がページiのリファレンスで言及されていると言うのは恥ずかしいです! –