Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Laufzeitfehler 3464 bei Summenberechnung
zurück: Kunden mit individuellen Preislisten verknüpfen weiter: Bilder (z.b. jpg) im Formular direkt anzeigen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
leehant
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. Jul 2010, 18:44
Rufname:

Laufzeitfehler 3464 bei Summenberechnung - Laufzeitfehler 3464 bei Summenberechnung

Nach oben
       Version: Office 2003

hallo zusammen, dies ist mein erster beitrag, ich hoffe ihr könnt mir weiterhelfen. und zwar habe ich folgenden code geschrieben:

Code:

Private Function SpaltenSumme()
    Dim DB As DAO.Database
    Dim rst As DAO.Recordset
    Dim strSQL As Variant
    Dim iSumme As Variant
   
   
    strSQL = "SELECT Sum([Summe_Spalte]) AS [iSumme] FROM tblDaten WHERE " & _
             "tblDaten.Datum = " & Me!Datum & ";"
             
    Set DB = CurrentDb
   
    Set rst = DB.OpenRecordset(strSQL)
    Debug.Print rst!S_Spalte
    rst.Close
    Set rst = Nothing
   
   
End Function


Private Sub Datum_AfterUpdate()
Call SpaltenSumme
End Sub



leider bekomme ich immer wieder ein Laufzeitsfehler 3464 bei der ausführung.

me!Datum kommt aus der Tabelle Datum und hat den feldtyp Text (da es sich um Monat.Jahr handelt, es sieht immer so aus 03.2009 05.2010) . Daten.Datum ist ebenso als Text, und hat den gleichen format.

ich hoffe ihr könnt mir weiterhelfen

LG
Marmeladenglas
komme zurecht


Verfasst am:
08. Jul 2010, 19:09
Rufname:


AW: Laufzeitfehler 3464 bei Summenberechnung - AW: Laufzeitfehler 3464 bei Summenberechnung

Nach oben
       Version: Office 2003

Hi,
wenn hier Datum als Text deklariert ist in der Tabelle (warum auch immer), dann müssen hier Hochkomata hinzu.
Code:
"tblDaten.Datum = '" & Me!Datum & "';"

Warum strsql als Variant ? Das ist string
warum iSumme als Variant ? das ist vermutlich Double

Hier mal eine verkürzte Form:
Code:
Dim strSQL As String
       
 
    strSQL = "SELECT Sum([Summe_Spalte]) AS [iSumme] FROM tblDaten WHERE " & _
             "tblDaten.Datum = '" & Me!Datum & "';"

   
    Debug.Print CurrentDb.OpenRecordset(strSQL)(0)
KlausMz
Moderator Access


Verfasst am:
08. Jul 2010, 19:10
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Laufzeitfehler 3464 bei Summenberechnung - AW: Laufzeitfehler 3464 bei Summenberechnung

Nach oben
       Version: Office 2003

Hallo,
Du solltest Dir gleich angewöhnen nicht nur die Nummer sondern auch den Fehlertext vollständig zu zitieren. Wer kennt schon die Fehlernummern auswendig.
Vermutlich sollte es aber so funktionieren:

Code:
strSQL = "SELECT Sum([Summe_Spalte]) AS [iSumme] FROM tblDaten WHERE " & _
         "tblDaten.Datum = '" & Me!Datum & "'"

Textfelder müssen in Hochkomma eingeschlossen werden. Auf das abschließende ; kann verzichtet werden.

Edit
Und die Anmerkungen von Marmeladenglas. Laughing

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.


Zuletzt bearbeitet von KlausMz am 08. Jul 2010, 19:24, insgesamt einmal bearbeitet
leehant
Im Profil kannst Du frei den Rang ändern


Verfasst am:
09. Jul 2010, 08:52
Rufname:

AW: Laufzeitfehler 3464 bei Summenberechnung - AW: Laufzeitfehler 3464 bei Summenberechnung

Nach oben
       Version: Office 2003

vielen vielen Dank erstmal für eure Antworten. Das Einzelschrit-Debuging zeigt den Fehler nichtmehr, do es taucht 2 schritte später einen Laufzeitsfehler 3265 ( Elemant in dieser auflistung nicht gefunden). und zwar bei
Code:

Set rst = CurrentDb(strSQL)

wenn ich diesen schritt überspringe bekomme ich den Fehler (Objektvariable oder with-blockvariable nicht festgelegt) bei Debug.print!rst
Marmeladenglas
komme zurecht


Verfasst am:
09. Jul 2010, 09:38
Rufname:

AW: Laufzeitfehler 3464 bei Summenberechnung - AW: Laufzeitfehler 3464 bei Summenberechnung

Nach oben
       Version: Office 2003

HI,
naja was soll das denn auch sein
Currentdb(strsql) ?????

Das steht doch SO nirgends in den Antworten oder (selbst in deinem eigenen Erstbeitrag nicht Laughing )? Wink
Ein einfaches Überspringen im Sinne von On Error resume next behebt doch auch nicht den ursächlichen Fehler für die nächste Fehlermeldung.
Warum übernimmst nicht einfach mal (und sei es nur testweise) die 1:1 Version meines Vorschlages ?

Code:
Private Function Spaltensumme () AS Double
Dim strSQL As String
   
    strSQL = "SELECT Sum([Summe_Spalte]) AS [iSumme] FROM tblDaten WHERE " & _
             "tblDaten.Datum = '" & Me!Datum & "';"
   
    Spaltensumme =CurrentDb.OpenRecordset(strSQL)(0)
End Function


Code:
Private Sub Datum_AfterUpdate()
   Debug.Print SpaltenSumme
End Sub
leehant
Im Profil kannst Du frei den Rang ändern


Verfasst am:
09. Jul 2010, 11:44
Rufname:

AW: Laufzeitfehler 3464 bei Summenberechnung - AW: Laufzeitfehler 3464 bei Summenberechnung

Nach oben
       Version: Office 2003

ok, sorry. Embarassed es hat fonktioniert. vielen vielen Dank.
leehant
Im Profil kannst Du frei den Rang ändern


Verfasst am:
09. Jul 2010, 13:48
Rufname:

AW: Laufzeitfehler 3464 bei Summenberechnung - AW: Laufzeitfehler 3464 bei Summenberechnung

Nach oben
       Version: Office 2003

jetzt komme ich schon wieder mit einer Anderen Frage, ich habe gerade versucht den Code so zu formuliert:
Code:


Private Function Summen()

Dim SummeSpalte1 As Double
Dim SummeSpalte2 As Double
Dim SummeSpalte3 as Double

Dim strSQL As String
   
    strSQL = "SELECT Sum([Spalte1]) AS [iSpalte1] sum([Spalte2]) AS [iSpalte2] sum([Spalte3]) AS [iSpalte3] FROM tblDaten WHERE " & _
             "tblDaten.Datum = '" & Me!Datum & "';"




sinn und zweck der Sache ist diese Summen einzeln in 3 verschiedenen ungebundenen Felder im Hauptformular anzuzeigen und mit Me!Datum_AfterUpdate zu Steuern

ist das machbar oder soll ich lieber einzelne Fonctionen jeweils für jede Spalte machen?

LG
Marmeladenglas
komme zurecht


Verfasst am:
10. Jul 2010, 09:54
Rufname:


AW: Laufzeitfehler 3464 bei Summenberechnung - AW: Laufzeitfehler 3464 bei Summenberechnung

Nach oben
       Version: Office 2003

Hi,
zum einen fehlen in deinem SQL die Kommas nach den Felddefinitionen, zum anderen würde ich gänzlich auf VBA verzichten (oder minimal im Sinne der Fromularfilterung durch "Me.Datum" und eine Abfrage verwenden, die ich als Datenquelle eines Formulars nehmen würde).
Alternativ, was ich aber auch nicht unbedingt als anzustrebende Lösung ansehe, wäre hier mit Domänenfunktionen zu arbeiten -> siehe DSum bzw. DomSumme ...
Die Frage wäre auch was im Hauptformular überhaupt abgebildet wird.
Wenn hier die Datensätze entsprechend der Datumseingrenzung im Detail angezeigt werden, würde in ungebundenen Feldern
Code:
=Summe(FEldxy)
vollkommen ausreichen.
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: Laufzeitfehler 3071 7 Ramon2012 198 30. Jan 2012, 19:51
KlausMz Laufzeitfehler 3071
Keine neuen Beiträge Access Tabellen & Abfragen: Laufzeitfehler 94 13 noreia 413 11. Dez 2008, 09:24
noreia Laufzeitfehler 94
Keine neuen Beiträge Access Tabellen & Abfragen: Laufzeitfehler 3109, Datensatz nicht zu löschen 0 Mitch26 407 31. Okt 2008, 18:45
Mitch26 Laufzeitfehler 3109, Datensatz nicht zu löschen
Keine neuen Beiträge Access Tabellen & Abfragen: Laufzeitfehler bei Übertrag in Listenfeld 1 Gast 510 01. Okt 2008, 22:20
MiLie Laufzeitfehler bei Übertrag in Listenfeld
Keine neuen Beiträge Access Formulare: Laufzeitfehler '7874': kann Objekt nicht finden obwohl da 1 friedrichshain 1419 11. Apr 2008, 18:09
rita2008 Laufzeitfehler '7874': kann Objekt nicht finden obwohl da
Keine neuen Beiträge Access Formulare: Access 2003 Laufzeitfehler 438 Objekt wird nicht gefunden 1 Arno Lesmeister 1309 15. Mai 2007, 17:31
rita2008 Access 2003 Laufzeitfehler 438 Objekt wird nicht gefunden
Keine neuen Beiträge Access Formulare: Laufzeitfehler 2164 2 rabie 2034 09. Feb 2007, 09:16
rabie Laufzeitfehler 2164
Keine neuen Beiträge Access Tabellen & Abfragen: Laufzeitfehler 3001 1 luckypunch 591 23. Jan 2007, 12:19
JörgG Laufzeitfehler 3001
Keine neuen Beiträge Access Formulare: Laufzeitfehler 2110 4 kijutz 5834 13. Okt 2006, 09:46
Willi Wipp Laufzeitfehler 2110
Keine neuen Beiträge Access Formulare: Was heist "Laufzeitfehler 2448" 13 Diego12 8462 19. Sep 2006, 12:30
lothi Was heist "Laufzeitfehler 2448"
Keine neuen Beiträge Access Formulare: Problem mit Filterlänge (Laufzeitfehler 7769) 5 maila 1515 11. Sep 2006, 19:50
Nouba Problem mit Filterlänge (Laufzeitfehler 7769)
Keine neuen Beiträge Access Formulare: Laufzeitfehler 2465 - kann das angesprochene Feld n. finden 3 MistaGee 8257 16. Aug 2006, 08:30
Gast Laufzeitfehler 2465 - kann das angesprochene Feld n. finden
 

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