PDA

Vollständige Version anzeigen : Alle Berichte in VB


zone128
24.12.2000, 12:38
Hallo
Bisher habe ich Berichte in VB immer auf diese Weise gelöscht.

DoCmd.DeleteObject acReport, "Name1"
DoCmd.DeleteObject acReport, "Name2"
DoCmd.DeleteObject acReport, "Name3"

Gibt es eine Möglichkeit alle auszuwählen und zu löschen ? zb. so ?

DoCmd.DeleteObject acReport, "alle Namen"

Manuela Kulpa
26.12.2000, 20:46
Moin, moin zone128!

Ich frage dich jetzt nicht, für was das gut sein soll ;), aber am einfachsten geht es über die Documents Auflistung! Anbei ein Beispiel:

'Die Funktion
Public Function DeleteReports() As Long

Dim dbsCurrent As DAO.Database
Dim conTmp As Container
Dim docTmp As Document
Dim lCounter As Integer
Dim lCount As Integer
Dim sReportName As String

On Error GoTo PROC_ERR

Set dbsCurrent = CurrentDb()

Set conTmp = dbsCurrent.Containers("Reports")
lCount = conTmp.Documents.Count

For Each docTmp In conTmp.Documents
sReportName = docTmp.Name
DoCmd.DeleteObject acReport, sReportName
lCounter = lCounter + 1
Next docTmp

DeleteReports = lCount

PROC_EXIT:
If Not dbsCurrent Then dbsCurrent.Close: Set dbsCurrent = Nothing
Exit Function

PROC_ERR:
MsgBox "Error: " & Err.Number & ". " & Err.Description, , _
"DeleteReports"
Resume PROC_EXIT

End Function


' Der Beispielaufruf
Public Sub LoescheBerichte()

Dim lCount As Long
lCount = DeleteReports

If lCount > 0 Then
If lCount > 1 Then
MsgBox lCount & " Berichte wurden gelöscht!", vbInformation, "Hinweis"
Else
MsgBox lCount & " Bericht wurde gelöscht!", vbInformation, "Hinweis"
End If
Else
MsgBox "Keine Berichte zum Löschen vorhanden!", vbInformation, "Hinweis"
End If

End Sub

Ich wünsche dir einen guten Rutsch ins neue Jahr 2001 und meinen obligatorischer Spruch

LLAP

zone128
28.12.2000, 14:01
Danke Manuela

und ebenfalls guten Rutsch ins neue Jahr.

Zone