| Hallo Karl,
ich muss mich nochmal melden, wegen der Pivot Tabelle.
Ich hatte ja letzens geschrieben, dass alles gut funktioniert.
Das stimmt leider nur teilweise (solange ich die bestehende Sitzung nicht geschlossen habe). Habe jetzt längere Zeit nicht weitergebastelt. Wenn ich nun die Datenbank komplett neu öffne und das Formular Kundenumsatz aufrufe (egal ob mit Button oder direkt), dann kommt immer die Fehlermeldung "Laufzeitfehler 2501" - "kann die DeleteObject Funktion nicht durchführen".
Wenn ich mit Alt und F11 den VBA Code aufrufe und mit dem dazugehörigen Kennwort entsperre!! - dann funktioniert alles bestens!
Ist das normal? Muss ich das in den Code mit einbauen? Wenn ja ja - kannst Du mir nochmal helfen?
Vielen Dank im Voraus.
Rüdiger
PS: hier nochmal der komplette Code, wie er bei entsicherter VBA funktioniert.
Private Sub Form_Load()
DoCmd.Maximize
Forms!Kundenumsatz.SetFocus
Forms!Kundenumsatz!UmsatzKunde_KundeSWDD.SetFocus
End Sub
Private Sub Form_Open(Cancel As Integer)
DoCmd.DeleteObject acForm, "UmsatzKunde_KundeSWDD"
DoCmd.CopyObject , "UmsatzKunde_KundeSWDD", acForm, "UmsatzKunde_KundeSWDD_Vorlage"
Me!UmsatzKunde_KundeSWDD.SourceObject = "UmsatzKunde_KundeSWDD"
End Sub
'Ich wüsste keine direkte Möglichkeit, denn Änderungen im Pivot werden sofort gespeichert.
'Du könntest einen leicht "schmutzigen" Umweg gehen:
'Ich nenne das Pivot-Formular hier im Beispiel mal "frmPivot".
'1. Kopiere das Pivot-Formular und richte die Kopie so her, wie du dir den dauerhaften "Startzustand" vorstellst.
'Ich nenne die Kopie "frmPivot_Vorlage".
'2. Im Formular "Kundenumsatz" lösche den Text aus der Eigenschaft "Herkunftsobjekt" des Unterformulares.
'3. Im Ereignis "beim Öffnen" von "Kundenumsatz" verwende folgenden Code:
'DoCmd.DeleteObject acForm, "frmPivot"
'DoCmd.CopyObject , "frmPivot", acForm, "frmPivot_Vorlage"
'Me!frmPivot.SourceObject = "frmPivot"
'Wobei die letzte Zeile davon ausgeht, dass dein UFo-Steuerelement im Hauptformular ebenfalls "frmPivot" heißt. Allgemeiner formuliert:
'Me!DeinUFoSteuerelement.SourceObject = "frmPivot"
'-----
'Servus
'Karl
Private Sub Schliessen_Kundenumsatz_Click()
DoCmd.Close acForm, "Kundenumsatz", acSaveNo
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Übersicht"
DoCmd.OpenForm stDocName, , , stLinkCriteria
End Sub
|