PDA

Vollständige Version anzeigen : Berichte optionsweise starten


Broom
29.10.2007, 09:35
Hallo,
ich habe eine Accessdatenbank gesehen, wo man in einem Formular über zwei Kombinationsfelder einen von/bis-Zeitraum erst festlegt und dann nach Auswahl einer Berichtsvariante diesen über eine Schaltfläche anzeigen lässt. Was mich dabei interessiert, ist die Auswahl des Berichtes und Anzeige. Vor den einzelnen Berichtsvarianten ist ein Optionsfeld, wo durch anklicken ein Punkt gesetzt wird. Ich denke durch Anklicken der Schaltfläche wird dann der zuvor markierte Bericht und dahinter liegende Abfrage gestartet. Kann mir jemand im Detail erklären wie das funktioniert.
Danke

Gruß
Heinrich

peterffw
29.10.2007, 10:17
Hallo Heinrich,

vermutlich wurde in der Anwendung eine Optionsgruppe für die Auswahl des Berichtes verwendet (auch ein Optionsfeld wäre möglich, ab da muss dann das Handling (Punkt markiert, Punkt entmarkiert) selbst Programmiert werden).
Beim Event "Bei Änderung" der Optionsgruppe kannst Du dann Abfragen welche Option gewählt wurde (jede Option einer Optionsgruppe erhält einen Wert), und dann den entsprechenden Report mit "docmd.openForm "Dein Bericht" aufrufen.

Diese Methode ist aber meiner Meinung nach nicht sehr Änderungsfreundlich, denn wenn neue Berichte dazukommen oder wegfallen bist Du immer am Programmändern. Eleganter wäre hier sicher ein Kombinationsfeld mit Deinen Reports. Die Berichte sind dann in einer Tabelle zu pflegen.

Servus
Peter

ebs17
29.10.2007, 11:12
Hallo Heinrich, ein Beitrag zum Thema macht es auch:
http://www.ms-office-forum.net/forum/showthread.php?t=220551

Lanz Rudolf
29.10.2007, 12:34
Hallo
möglich das ich nicht alles verstehe

doch schau mal in der OH unter Openargs
z.b So was

'Aufruf
DoCmd.OpenForm stDocName, , , stLinkCriteria, , , "Mut"

’ Beim Laden des Formulars
Dim strOpenArgs As String ’Global für dieses Formular
Private Sub Form_Load()
strOpenArgs = Me.OpenArgs
Select Case strOpenArgs
Case "Neu"
Me.Caption = "Adresse (NEU)"
Case "Mut"
Me.Caption = "Adresse (Mutieren)"
Case "Kop"
Me.Caption = "Adresse (Kopiert)"
Case Else
End Select
End Sub