Hallo,
ich habe hier ein kleines Problem und hoffe Ihr könnt mir helfen.
In einem Endlosformular möchte ich eine Summe z.B. eines Preisfeldes bilden. Dafür habe ich ein Textfeld im Formularfuß und Im Steuerelement dieses ungebundenen Textfeldes scheibe ich: =Summe([preis]). Die Werte des Feldes Preis kommen aus einer Abfrage. Soweit funktioniert es auch.
In Detailbereich des Formulars habe ich ein zusätzliches ungebundenen Textfeld (jan), dessen Werte ich durch eine Abfrage im Steuerelement mit =Wenn([dat]=1;1) fülle. Das funktioniert auch.
Jetzt zum Problem: Bei der Bildung der Summe dieses Textfeldes (wie oben beim Preis im Formularfuß) gibt es eine Fehlermeldung. (#Fehler)
Ich habe das mal in Excel ausgegeben und sehe, das dieses Textfeld (jan) im Detailbereich keine Zahl ist.
Ich habe jetzt versucht in den Eigenschaften dieses Feldes alles auf Zahl zu setzen, Format:Festkommazahl, Dezimalstellenanzeige:0
Aber es funktioniert nicht. Das Textfeld wird nicht zu einer Zahl. Habt ihr eine Ahnung woran das liegen könnte.
			
			
			
				Zitat von: stemo am Januar 18, 2024, 12:21:03Ich habe jetzt versucht in den Eigenschaften dieses Feldes alles auf Zahl zu setzen, Format:Festkommazahl, Dezimalstellenanzeige:0
Aber es funktioniert nicht. Das Textfeld wird nicht zu einer Zahl. Habt ihr eine Ahnung woran das liegen könnte. 
Die von dir genannten Eigenschaften sind nur für die visuelle Darstellung relevant. Wichtig ist der Datentyp der Spalte in der Tabelle, dieser muss ein Zahl-Datentyp sein.
			
 
			
			
				vielen Dank für die Antwort. Ich hoffe ich habe es richtig verstanden,
aber die erzeugte Zahl ist kein Feld aus einer Tabelle sondern wird beim Aufruf des Berichtes bzw. Formulars erzeugt.
In der Tabelle steht ein Datum. Beim Aufruf des Endlosformulars extrahiere ich den Monat daraus (1 - 12) und erzeuge dann in der jeweiligen Spalte des Formulars (12 Spalten /Januar - Dezember) mit =Wenn([dat]=1;1) eine 1 bzw. ein Leerfeld. Und eben genau hier schreibt Access eine 1 als Text und nicht als Zahl. Somit kann ich dann keine Summe der einsen für Januar, Februar, ... erzeugen.
Wo kann ich dieses Textfeld im Formular zu einer Zahl machen.
			
			
			
				Hallo,
ZitatBeim Aufruf des Endlosformulars extrahiere ich den Monat daraus (1 - 12) 
Das ist der entscheidende Punkt.
Wie extrahierst Du den Monat?
Und wie erzeugst Du dann den Monatsnamen ?
=Wenn([dat]=1;1)Das verstehe ich auch nicht.
Übersetzt: Wenn dat eine 1 ist, mache eine 1 .Was willst Du damit erreichen ?
Was ist denn dat ?
			
				in meiner Tabelle habe ich ein Datumsfeld 'ENTSCHEID'. Im Endlosformular/Bericht habe ich ein Textfeld (dat) mit dem Steuerelementinhalt =Format([ENTSCHEID];"m") Das erzeugt mir dann, je nach Monat, eine 1 - 12. 
Im Formular sind Monatsspalten Januar bis Dezember, in denen dann immer im jeweiligen Monat eine 1 gesetzt wird.
Januar:   =Wenn([dat]=1;1)
Februar:  =Wenn([dat]=2;1)
März:     =Wenn([dat]=2;1)
...
   jan   feb   mar   apr   mai   juni   juli   aug   sep   okt   nov   dez
                  1                  
                  1                  
                           1         
Zum Schluss will ich dann die 1sen der jeweiligen Monatsspalten addieren.
			
			
			
				Hallo,
Format() gibt immer einen Text (String) zurück.
Da du aber ein Datumsfeld hast, kannst du den Monat auch einfach
mit
Month(Datumsfeld)erhalten. Das ist dann eine Zahl, mit der du rechnen kannst.
gruss ekkehard
			
			
			
				vielen Dank, aber im Formular mit 
Month(Datumsfeld) klappt immer noch nicht.
Ich habe jetzt direkt in der Abfrage eine Spalte 
zahl_monat: Monat([ENTSCHEID]) eingefüht.
Jetzt wird dieses Spalte auch als Zahl ins Formular übernommen.
Wenn ich jetzt aber im Endlosformular meine 1sen mit =Wenn([dat]=1;1) setze sind es immer noch Textfelder, obwohl 'dat' ja eine Zahl ist. Ich dreh hier langsam ab.
			
			
			
				Hallo,
erstelle eine Beispieldb in der man den Fehler nachvollziehen kann und lade diese hier im Forum hoch.
			
			
			
				Hallo,
hier mal die Beispieldatenbank. Hat etwas länger gedauert da ich erst mal herausfinden musste wie man eine .accdb Datenbank hochlädt. Nach Änderung in .mdb hats dann aber funktioniert.
Im Bericht sowie im Formular, eigentlich identisch, kommen andere Fehlermeldungen. Ziel ist die Spalten aufzusummieren und dann die Summe dieser Additionen zu bilden. Klappt bei mir aber leider nicht.
Könnt ihr mir helfen?
			
			
			
				Habe jetzt selber mal rumprobiert und keine andere Lösung gefunden als:
Beispiel bei Monat Mai:
=Nz(DomAnzahl("[zahl_monat]";"abf_zielprojekte";"[zahl_monat] =5");0)
			
			
			
				=Sum(IIf([zahl_monat]=1;1;0))Das funktioniert!
Allerdings musst du aufpassen, dass es keine anderen berechneten Felder gibt, die #Error anzeigen, weil dann der obige Ausdruck ebenfalls #Error anzeigt, obwohl er selbst so eigentlich fehlerfrei ausgeführt werden kann.