2

わかりましたので、アクセス レポートを作成するための VBA 構文についていくつか質問があります。

情報CreateReportControl Function を挿入し、情報DeleteReportControlを削除し、セクション
EXを使用してセクションを変更する次の関数を知っています: rpt.section(acDetail).Height=0

  1. Visable を False に設定するだけでなく、ページのヘッダーとフッターをオフにする方法を知りたいです。デザインビューで見えないようにしたい。

  2. Vba でレポートを複製して新しい名前を割り当てる方法 / サブレポートをメイン レポートに追加してその配置を移動する方法。または、ここに示すように名前を変更するコードがあるため、少なくとも複製して開いたままにします。

    Public Function GetUniqueReportName() As String
    Dim intCounter As Integer
    Dim blnIsUnique As Boolean
    Dim rpt As Object
    
      For intCounter = 1 To 256
          GetUniqueReportName = "SubReport_" & Format(intCounter, "0000")
          blnIsUnique = True
          For Each rpt In CurrentProject.AllReports
              If rpt.Name = GetUniqueReportName Then blnIsUnique = False
          Next
          If blnIsUnique Then Exit Function
     Next
    
     GetUniqueReportName = ""
     End Function
    
  3. また、VBA を介して Access レポートを作成するのに役立つ関数は他にありますか?それらが何をするのかを説明する必要はありません。それらが何であるかを知りたいだけなので、多くの情報がないため、直接検索できます。これを行う方法については、ウェブで。

この情報はすべて非常に役に立ちます。私は、他の多くの人がこの情報を使用できると想定しており、この主題に関する情報はあまりありません。前もって感謝します!:) すべての質問に答えられなくても、この時点での情報はおまけです。

4

1 に答える 1

3

III. これは、rptCreateTmpReportSimple() を呼び出して rptTmp を作成します。

Function rptCreateTmpReportSimple()
'
  Dim lLeft As Long, lTop As Long, lWidth As Long, lHeight As Long
'
  Dim strFld As String, strRecordSource As String
  Dim strRpt As String
'
  Dim rpt As Access.Report
  Dim ctl As Access.control
'
  strRecordSource = "MyTableName"
  strRpt = "rptTmp"
'
  Set rpt = Application.CreateReport
'
  rpt.visible = False
'
' define report properties, unit is in twips.
'
  rpt.RecordSource = strRecordSource
  rpt.caption = "Special Report"
'
  rpt.DefaultView = acPreview
  rpt.Width = 9870
'
  rpt.visible = True
'
' save it with a name:
'
  DoCmd.Save acDefault, strRpt
'
' create a textbox for each field:
'
  strFld = "FieldName1"
  lLeft = 100
  lTop = 50
  lWidth = 2000
  lHeight = 250
'
  Set ctl = Application.CreateReportControl(strRpt, acTextBox, _
    acDetail, , strFld, lLeft, lTop, lWidth, lHeight)
  ctl.Name = strFld
  ctl.Fontsize = 8
'
' Create other controls...
'...
'
  DoCmd.Close acReport, strRpt, acSaveYes
'
' close ADO objects:
'
  Set ctl = Nothing
  Set rpt = Nothing
'
  rptCreateTmpReportSimple = strRpt
'
End Function

あなたの質問について:

I. ページのヘッダーとフッターを削除することはできませんが、高さを 0 に縮小することはできます。

Ⅱ.rptTmp を rptTmp2 にコピーします。

DoCmd.CopyObject , "rptTmp2", acReport, "rptTmp"
于 2013-10-29T10:51:12.007 に答える