Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Berechnung im HF mit Werten aus mehreren UFOs
zurück: Suchfunktion in VBA programmieren/ mehrere Kritierien abfrag weiter: Kombinationsfeld in Datenblattansicht füllen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Offen Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Markus83
Im Profil kannst Du frei den Rang ändern


Verfasst am:
06. März 2013, 09:44
Rufname:

Berechnung im HF mit Werten aus mehreren UFOs - Berechnung im HF mit Werten aus mehreren UFOs

Nach oben
       Version: Office 2010

Guten Morgen zusammen,

ich brauche bitte Eure Hilfe!

Ich habe ein Formular mit mehreren Unterformularen. In den Unterformularen werden verschiedene Werte eingetragen (verschiedene Preise). Im Hauptformular habe ich ein Textfeld in dem ich die Summe von mehreren Werten aus mehreren Unterformularen anzeigen möchte.
Mein Ansatz bisher war, dass ich dem Formular eine Eigenschaft "beim Anzeigen" zugewiesen habe. Dort hole ich mir per DSum aus den verschiedenen Unterformularen (bzw. aus den Tabellen, auf denen die Unterformulare beruhen) die Werte und setze die dann in das Textfeld. Das funktioniert soweit auch.
Das Problem ist, dass wenn man einen neuen Datensatz erstellt, jede Menge Fehlermeldungen kommen (z.B. unzulässige Verwendung von Null). Das kommt natürlich dadurch, dass ich bei einem neuen, leeren Datensatz noch keine Werte in den Tabellen habe. Soweit ist mir das klar...aber wie umgehe ich dieses Problem?

Zum besseren Verständnis, wie ich die Werte hole, und warum die Fehlermeldung kommt, hier der VBA Code:
Code:
    Dim PreisIntern As Currency
    Dim PreisExtern As Currency
    Dim PreisMaterial As Currency
   
    PreisIntern = DSum("Preis", "tblZuordnungProduktArbeitsschritt" _
                     , "ZeichnungsNrID_F=" & Me!ZeichnungsNrID _
                & " AND (BearbSchrittID_F=1" _
                 & " OR  BearbSchrittID_F=3" _
                 & " OR  BearbSchrittID_F=4" _
                 & " OR  BearbSchrittID_F=7)")
    PreisExtern = DSum("ExternerPreis", "tblZuordnungProdExtBearbSchritt" _
                     , "ZeichnungsNrID_F=" & Me!ZeichnungsNrID) _
                + DSum("ExternerAufschlag", "tblZuordnungProdExtBearbSchritt" _
                     , "ZeichnungsNrID_F=" & Me!ZeichnungsNrID)
    PreisMaterial = DSum("MaterialStkPreis" _
                       , "tblZuordnungProdMaterialAngebot" _
                       , "ZeichnungsNrID_F=" & Me!ZeichnungsNrID _
                  & " AND MaterialAbfLieferant=True") _
                  + DSum("MaterialAufschlag" _
                       , "tblZuordnungProdMaterialAngebot" _
                       , "ZeichnungsNrID_F=" & Me!ZeichnungsNrID _
                  & " AND MaterialAbfLieferant=True")
    Me!GesamtStk = PreisExtern + PreisIntern + PreisMaterial
Über Eure Hilfe wäre ich sehr dankbar!

Beste Grüße,
Markus
Marmeladenglas
komme zurecht


Verfasst am:
06. März 2013, 10:06
Rufname:

AW: Berechnung im HF mit Werten aus mehreren UFOs - AW: Berechnung im HF mit Werten aus mehreren UFOs

Nach oben
       Version: Office 2010

Hi,
Mehrere Möglichkeiten:
  1. Nz() einsetzen..
  2. Vorab prüfen ob das angemeckerte Feld Inhalt hat
    If Nz(Me.DeinFeld, 0) > 0 Then '...
  3. Auf dem Haupt-Formular Felder verwenden die die Summenfelder in den Unterformularen referenzieren.
Zu den anderen Fehlermeldungen schweigst du dich ja aus ..
Markus83
Im Profil kannst Du frei den Rang ändern


Verfasst am:
06. März 2013, 12:01
Rufname:


AW: Berechnung im HF mit Werten aus mehreren UFOs - AW: Berechnung im HF mit Werten aus mehreren UFOs

Nach oben
       Version: Office 2010

Hallo,

vielen Dank für die schnelle Antwort.

Die erste Fehlermeldung war "Laufzeitfehler '94': Unzulässige Verwendung von Null", dabei markiert er mir beim Debuggen die Zeile:
Code:
    PreisIntern = DSum("Preis", "tblZuordnungProduktArbeitsschritt" _
                     , "ZeichnungsNrID_F=" & Me!ZeichnungsNrID _
                & " AND (BearbSchrittID_F=1" _
                 & " OR  BearbSchrittID_F=3" _
                 & " OR  BearbSchrittID_F=4" _
                 & " OR  BearbSchrittID_F=7)")
Die andere Fehlermeldung bekomme ich leider nicht mehr reproduziert. Das war irgendwas mit "es fehlt ein Operator" oder so und dahinter den Code
Code:
                     , "ZeichnungsNrID_F=" & Me!ZeichnungsNrID _
                & " AND (BearbSchrittID_F=1" _
                 & " OR  BearbSchrittID_F=3" _
                 & " OR  BearbSchrittID_F=4" _
                 & " OR  BearbSchrittID_F=7)")
  1. Das mit Nz() habe ich auch schon probiert, das hat leider nicht gebracht. Es kam immernoch die Fehlermeldung mit der unzulässigen Verwendung von Null.

  2. Habe ich jetzt mal getestet. Scheint soweit zu funktionieren (Wert wird angezeigt und es kommt keine Fehlermeldung). Der Code sieht jetzt wie folgt aus
    Code:
    Private Sub Form_Current()
        Dim PreisIntern As Currency
        Dim PreisExtern As Currency
        Dim PreisMaterial As Currency
       
        If Me!ZeichnungsNrID > 0 And _
           Forms!frmZeichnungen!frmZeichnungenUfoPreisIntern!ZeichnungsNrID_F > 0 And _
           Forms!frmZeichnungen!frmZeichnungenUfoPreisIntern!BearbSchrittID_F > 0 Then
            PreisIntern = DSum("Preis", "tblZuordnungProduktArbeitsschritt" _
                             , "ZeichnungsNrID_F=" & Me!ZeichnungsNrID _
                        & " AND (BearbSchrittID_F=1" _
                         & " OR  BearbSchrittID_F=3" _
                         & " OR  BearbSchrittID_F=4" _
                         & " OR  BearbSchrittID_F=7)")
          Else
            PreisIntern = 0
        End If
        If Me!ZeichnungsNrID > 0 And _
           Forms!frmZeichnungen!frmZeichnungenUfoPreisExtern!ZeichnungsNrID_F > 0 Then
            PreisExtern = DSum("ExternerPreis" _
                             , "tblZuordnungProdExtBearbSchritt" _
                             , "ZeichnungsNrID_F=" & Me!ZeichnungsNrID) _
                        + DSum("ExternerAufschlag" _
                             , "tblZuordnungProdExtBearbSchritt" _
                             , "ZeichnungsNrID_F=" & Me!ZeichnungsNrID)
          Else
            PreisExtern = 0
        End If
        If Me!ZeichnungsNrID > 0 And _
           Forms!frmZeichnungen!frmZeichnungenUfoMaterialPreise!ZeichnungsNrID_F > 0 Then
            PreisMaterial = DSum("MaterialStkPreis" _
                               , "tblZuordnungProdMaterialAngebot" _
                               , "ZeichnungsNrID_F=" & Me!ZeichnungsNrID _
                          & " AND MaterialAbfLieferant=True") _
                          + DSum("MaterialAufschlag" _
                               , "tblZuordnungProdMaterialAngebot" _
                               , "ZeichnungsNrID_F=" & Me!ZeichnungsNrID _
                          & " AND MaterialAbfLieferant=True")
          Else
            PreisMaterial = 0
        End If
        Me!GesamtStk = PreisExtern + PreisIntern + PreisMaterial
    End Sub

  3. Wie meinst Du das? Ich hab ja Summenfelder in den Unterformularen, vielleicht wäre die Lösung ja noch eleganter! Smile
Vielen Dank nochmal!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Tabellenvergleich von Werten 2 Nonetti 708 24. Aug 2005, 10:08
Nonetti Tabellenvergleich von Werten
Keine neuen Beiträge Access Tabellen & Abfragen: Problem bei Abfrage mit mehreren Filter-Kriterien 11 Mr.Wilson 693 17. Aug 2005, 12:31
Mr.Wilson Problem bei Abfrage mit mehreren Filter-Kriterien
Keine neuen Beiträge Access Tabellen & Abfragen: Access 2003 - Zählen von Werten in einer Spalte 1 Michael2003 1841 04. Aug 2005, 17:26
jens05 Access 2003 - Zählen von Werten in einer Spalte
Keine neuen Beiträge Access Tabellen & Abfragen: Anzahl von Werten 3 heirnele 615 21. Jul 2005, 11:43
rita2008 Anzahl von Werten
Keine neuen Beiträge Access Tabellen & Abfragen: kumulieren in Abfrage mit mehreren Bedingungen 11 Melanie OG 3546 28. Jun 2005, 18:49
Melanie OG kumulieren in Abfrage mit mehreren Bedingungen
Keine neuen Beiträge Access Tabellen & Abfragen: bei from - klauser mit mehreren joins arbeiten ... 1 Vincent_Vega 611 28. Jun 2005, 15:00
Roadrunner bei from - klauser mit mehreren joins arbeiten ...
Keine neuen Beiträge Access Tabellen & Abfragen: Berechnung in Access 2003 mit einer Bedingung 2 Kranich 1422 02. Jun 2005, 10:47
Kranich Berechnung in Access 2003 mit einer Bedingung
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage von Formular zu mehreren Tabellen gleichzeitig 5 Friedel 1237 22. Mai 2005, 11:06
jens05 Abfrage von Formular zu mehreren Tabellen gleichzeitig
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage eines Parameters aus mehreren Spalten gleichzeitig 3 Chrono_Trigger 662 21. Apr 2005, 14:24
Willi Wipp Abfrage eines Parameters aus mehreren Spalten gleichzeitig
Keine neuen Beiträge Access Tabellen & Abfragen: Problem bei Berechnung 3 Schlomi84 695 13. Apr 2005, 23:38
Wollibär Problem bei Berechnung
Keine neuen Beiträge Access Tabellen & Abfragen: [SQL] GROUP BY mit mehreren Untergruppen? 1 marcos_ 1650 07. Apr 2005, 11:05
marcos_ [SQL] GROUP BY mit mehreren Untergruppen?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage (mit Berechnung) 9 Schlomi84 1522 04. März 2005, 16:10
Willi Wipp Abfrage (mit Berechnung)
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Tipps