Tipp 3.4 - Controls in String

Wie kann ich einem String die Namen der Controls im angegebenen Bericht übergeben?

Mit dieser Funktion können Sie einem String die Namen der Steuerelemente im angegebenen Bericht übergeben. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.

Beispiel:

Public Function A2XReportControlsToString(psReport As String, _
                                          psDelimit As String, _
                                          psIn As String) _
                                          As Integer
  '// =====================================================
  '// Methode   | Übergibt einem String die Namen der
  '//           | Controls im angegebenen Bericht
  '// -----------------------------------------------------
  '// Parameter | psReport  - Name des Berichts
  '               psDelimit - Trennzeichen
  '               psIn      - Leerstring
  '// -----------------------------------------------------
  '// Rückgabe  | Integer - Anzahl der Controls
  '// -----------------------------------------------------
  '// Erstellt  | Manuela Kulpa
  '//           | EDV Innovation & Consulting - Dormagen
  '// -----------------------------------------------------
  '// Beispielaufruf:
  '// Dim iCount    As Integer
  '// Dim sControls As String
  '// iCount = A2XReportControlsToString("rptTest", _
  '//                          "; ", _
  '//                          sControls)
  '// Debug.Print "Controls: " & sControls
  '// =====================================================
  Dim rptTmp As Report
  Dim iCount As Integer
  Dim iCounter As Integer
  Dim NeedsClosing As Boolean
 
  On Error GoTo A2XReportControlsToString_Error
 
  If SysCmd(acSysCmdGetObjectState, acReport, _
            psReport) = 0 Then
    DoCmd.OpenReport psReport, acDesign
    NeedsClosing = True
  End If
 
  Set rptTmp = Reports(psReport)
  iCount = rptTmp.Count
 
  For iCounter = 0 To iCount - 1
    psIn = psIn & rptTmp(iCounter).Name
 
    If iCounter < iCount - 1 Then
      psIn = psIn & psDelimit
    End If
 
  Next iCounter
 
  If NeedsClosing Then
    DoCmd.Close acReport, psReport
  End If
 
  A2XReportControlsToString = iCount
 
A2XReportControlsToString_Exit:
  On Error GoTo 0
  Exit Function
 
A2XReportControlsToString_Error:
  Select Case Err.Number
  Case Else
    MsgBox "Fehler " & Err.Number & ": " & _
           Err.Description, vbCritical, _
           "modRpt.A2XReportControlsToString"
  End Select
  Resume A2XReportControlsToString_Exit
 
End Function