Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Ereignis-Code bringt nicht das gewünschte Ergebnis

Begonnen von Axel18, Oktober 01, 2014, 14:38:11

⏪ vorheriges - nächstes ⏩

Axel18

Ich rufe mir ein Formular (Kundenformular) auf, welches aus ,,Kunden_Abfrage" generiert wird.
Durch ein ungebundenes Kombinationsfeld kommt das Kundenblatt des gewünschten Kunden (z.B. Schmitz).

Das klappt.

Dann habe ich eine Tabelle (Ansprechpartner) und daraus generiert eine Abfrage (F_Ansprechpartner). Die Abfrage verknüpft die tbl Ansprechpartner mit der tbl Kunden über ,,ksort".

Aus dieser Abfrage habe ich ein Formular erstellt (F_Ansprechpartner), welches ich per Button innerhalb ,,Kundenformular" aufrufe.

Mit Eurer Hilfe konnte ich erreichen, dass nur die in Ansprechpartner für den Kunden ,,Schmitz" gespeicherten Mitarbeiter nun angezeigt werden. Auch das klappt bestens.

So, nach dieser Einführung kommt jetzt mein Problem:

In ,,Kundenformular" habe ich nun einen weitren Button geschaffen ,,Umsatz". Hier möchte ich jetzt also nur die Umsätze angezeigt bekommen, die Kunde Schmitz getätigt hat. Analog zu Euren Tipps bzgl. ,,Ansprechpartner" habe ich im Code des Ereignisses eine Zeile eingefügt:

stLinkCriteria = "ksort='" & Me.KSort & "'"


Der komplette Code lautet:
Private Sub Befehl35_Click()
On Error GoTo Err_Befehl35_Click

    Dim stDocName As String

    stDocName = "Kundenumsatz"
    DoCmd.OpenReport stDocName, acPreview
    stLinkCriteria = "ksort='" & Me.KSort & "'"

Exit_Befehl35_Click:
    Exit Sub

Err_Befehl35_Click:
    MsgBox Err.Description
    Resume Exit_Befehl35_Click
   
End Sub

Aufgerufen wird durch den Button ein Bericht (bei Ansprechpartner war das ein Formular). Der Bericht bezieht sich auf eine Abfrage ,,KundenUmsatz", die wiederum sich auf 3 Tabellen stützt:
-   Kunden
-   KundenProdukteDetailMenge
-   ProdNr

Alle 3 Tabelle haben als Verbindung das Feld ,,ksort"

Klicke ich mit dem o.g. Code den Button an, dann erhalte ich einen Bericht über sämtliche Umsätze und nicht nur die für Kunde ,,Schmitz"

Ich hoffe, ich habe mit den vielen Informationen Euch nicht verwirrt.
Beste Grüße
Axel

DF6GL

Hallo,

der Ablauf ist genau so, wie der Code es vorschreibt....

Wenn Du willst, dass der Bericht nur die Daten anzeigt, die mit "ksort" gefiltert werden, dann muss das dem Bericht (der Öffnungs-Methode) auch begreiflich gemacht werden:

Private Sub Befehl35_Click()
On Error GoTo Err_Befehl35_Click

DoCmd.OpenReport "Kundenumsatz", acPreview,, "ksort='" & Me!KSort & "'"

Exit_Befehl35_Click:
    Exit Sub

Err_Befehl35_Click:
    MsgBox Err.Description
    Resume Exit_Befehl35_Click
   
End Sub



(Auf die Variablen kannst Du gefahrlos verzichten und die Werte gleich als  Parameter der Openreport-Methode mitgeben.)

Axel18

danke für die schnelle und vor allen Dingen perfekte Antwort.

Wieder ein Problem gelöst. Danke

Axel
Beste Grüße
Axel