Office: Negative Zahlen mit Funktion INT in die rundet falsch....

Helfe beim Thema Negative Zahlen mit Funktion INT in die rundet falsch.... in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen! Mit der INT Funktion runde ich in einer Tabelle Zeiten auf Stunden ab. Soweit klappt das auch mit ganzen Zahlen. Nur da ich hier... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Schlauchi, 21. April 2009.

  1. Schlauchi Erfahrener User

    Negative Zahlen mit Funktion INT in die rundet falsch....


    Hallo zusammen!

    Mit der INT Funktion runde ich in einer Tabelle Zeiten auf Stunden ab.
    Soweit klappt das auch mit ganzen Zahlen.
    Nur da ich hier Zeiten von einander abziehe bekomme ich das Problem mit Negativen Zahlen die dann in die Falsche Richtung runden.

    Also - ich habe ein Zeit Konto - und ein Benutzer Konto. Zeit Konto ist quasi ein "Guthaben" - Benutzer Konto der verbrauchte Kontostand.

    Mein Problem nun wenn ich wissen will, wieviel Zeit noch "offen" ist - ziehe ich Guthaben minus Verbrauch ab.

    So - wenn ich aber nun in den negativen bereich komme rundet er z. B. -2,75 Stunden auf - 3 Stunden ab.
    Ich splitte die Minuten von den Stunden in zwei seperate Tabellen - da ich hier über 24 Std rechnen muß.

    Also die Stunden Tabelle rundet mir hier auf -3 - und die Minuten Tabelle natürlich auf :45 Min. Das wäre dann -3:45 Std - und nicht -2:45!

    Wie schaffe ich es, bei Negativen Zahlen einfach 1 zu addieren um wieder "richtig" gerundet zu haben???

    RemainingTimeHH = INT (Sum: TimeXYZ * 24))
    Anzeige nur "volle" Stunden

    Bei positiven Zahlen rundet er mir richtig - bei negativen - wie gesagt in die falsche Richtung.

    Ideen wie man das lösen kann?

    Danke
     
    Schlauchi, 21. April 2009
    #1
  2. Exl121150 Erfahrener User
    Hallo Schlauchi,

    sucht man in der ACCESS-Hilfe findet man Folgendes (ich hoffe, der kleine, aber feine Unterschied könnte weiterhelfen):

    Int-, Fix-Funktionen
    Gibt den ganzzahligen Anteil einer Zahl zurück.

    Syntax
    Int(Zahl)
    Fix(Zahl)

    Das erforderliche Argument Zahl ist ein Wert vom Typ Double oder ein beliebiger zulässiger numerischer Ausdruck. Wenn Zahl den Wert Null enthält, wird Null zurückgegeben.

    Bemerkungen:
    Int und Fix entfernen beide die Nachkommastellen einer Zahl und geben den daraus resultierenden ganzzahligen Wert zurück.

    Der Unterschied zwischen Int und Fix besteht darin, daß bei einem negativen Wert von Zahl Int die erste negative ganze Zahl zurückgibt, die kleiner oder gleich Zahl ist, während Fix die erste negative ganze Zahl zurückgibt, die größer oder gleich Zahl ist. Int wandelt zum Beispiel -8,4 in -9 um, während Fix -8,4 in -8 umwandelt.

    Fix(Zahl) entspricht dem folgenden Ausdruck:
    Sgn(Zahl) * Int(Abs(Zahl))
     
    Exl121150, 1. Mai 2009
    #2
  3. Schlauchi Erfahrener User
    geholfen...

    Hallo Exl121150!

    Ja - ein kleiner aber feiner unterschied :-)

    Löst mein Problem auch zu 99,5% - den er macht jetzt natürlich auch aus

    "-0,63" ein "0" und keine "-0"
    Schon klar "-0" gibts nicht... aber da ich Std und Min in zwei Felder aufteilen muß... ist die Std "positiv" - aber die Minuten werden "negativ" (bei mir Rot) dargestellt.

    Ist zwar ein Schönheitsfehler - aber eben nicht ganz richtig.

    Kann ich per VBA da eine Prüfung drauflegen - wenn ein Feld (in meinem die Minuten) Negativ sind - die Farbe auf z.B. Rot / Hintergrund Gelb - geändert wird?

    Wo finde ich den so eine Syntax Auflistung? Hab bis jetzt immer nur Bruchteile gefunden... so ne gesamt Ansicht muß es doch irgendwo für Access geben, oder?

    Danke und schönes Wochenende
     
    Schlauchi, 3. Mai 2009
    #3
  4. Exl121150 Erfahrener User

    Negative Zahlen mit Funktion INT in die rundet falsch....

    Hallo Schlauchi,

    Du schreibst, dass Du Access2007 hast. Um eine solche Auflistung zu bekommen, ist es am einfachsten, in den VBA-Editor zu gehen (Tastenkombination Alt+F11)
    Und um die Auflistung aller Bibliotheken (mit ihren Klassen, Modulen, Eigenschaften, Methoden, Funktionen, Konstanten, etc.), auf die aktuell verwiesen wird, zu bekommen, muss man im VBA-Editor einfach nur F2 drücken (=Objektkatalog).
    Dann erhält man im Hauptfenster ganz oben 2 Comboboxen und darunter die dazugehörigen Auflistungen.
    Wählt man in der obersten Combobox "VBA" aus, erhält man in der Liste darunter (Überschrift 'Klassen') alles, was in der VBA-Bibliothek enthalten ist. Wählt man in der rechten Detailliste (Überschrift 'Elemente von ...') einen Eintrag aus, erhält im Subfenster unterhalb der Listen den Hinweis auf die Syntax bzw. drückt man F1 die mit dem Eintrag verbundene ACCESS-Hilfe.
    Also um die VBA-Funktionen zu bekommen: in den linken Listeneinträgen 'Conversion', 'DateTime', 'FileSystem, 'Financial', 'Information', 'Interaction', 'Math', 'Strings' auswählen und man erhält rechts jeweils die Liste der enthaltenen Funktionen - oder aber man wählt links den Eintrag 'Global' aus (rechts wird dann alles angezeigt, was im aktuellen Projekt global erreichbar ist).
    Es stehen in der Klassen-Spalte aber nicht nur Module mit Funktionen, sondern auch die verfügbaren Objektklassen, die Konstanten etc.

    Also: die Inspektion dieser Auflistungen ist für Programmierer ein Muss!
    Das funktioniert in allen Programmen des Microsoft-Office-Paketes gleich!

    Ist ferner in der 1. Combobox eine benötigte Programmbibliothek nicht enthalten (im Microsoft-Slang heißt das: 'Es existiert noch kein Verweis auf die Objektbibliothek'), so kann man sie hinzufügen über das Menü: 'Extras > Verweise...'. Man erhält dann die Auflistung der im aktuellen Projekt vorhandenen Verweise (alle Listeneinträge, die angehakt sind). Durch Anhaken fügt man weitere Verweise auf Programmbibliotheken dem aktuellen Projekt hinzu. Eine Programmbibiothek, die in dieser Auflistung überhaupt nicht enthalten ist, kann man mittels Schalter 'Durchsuchen...' im Dateisystem suchen und zur Liste hinzufügen, um sie dann anhaken zu können (zB. das Formular-Control 'Microsoft Calendar Control 2007' namens 'MSACAL' mit dem Pfad 'C:\Programme\Microsoft Office\Office12\MSCAL.OCX').
    Um diese Dinge sinnvoll verwenden zu können, sind natürlich solide Kenntnisse in VBA-Programmierung Voraussetzung.

    Man muss das nicht unbedingt per VBA machen. Man kann das auch beim normalen Formularentwurf machen und nennt sich 'Bedingte Formatierung'.
    Man muss dazu beim Formularentwurf ins zu formatierende Feld gehen (in Deinem Fall zB. Feld 'Stunden' bzw. Feld 'Minuten') und in der Multifunktionsleiste den kontextabhängen Formularentwurfstool-Tabulator 'Entwurf', Gruppe 'Schriftart', Button 'Bedingt' klicken. Im erscheinenden Dialogfenster 'Bedingte Formatierung' kann man zwischen 3 verschiedenen Bedingungsarten wählen ('Feldwert ist', 'Ausdruck ist', 'Feld hat Fokus'), wobei wahrscheinlich in Deinem Fall die 2. Bedingungsart zu nehmen ist. Dann musst Du im Feld rechts daneben einen Ausdruck eingeben, der logisch WAHR oder FALSCH sein kann.
    Wenn Dein Feld, das Du in Stunden und Minuten aufsplitten willst, zB. 'ZeitDauer' heißt, dann lautet die Bedingung '0>ZeitDauer'. Trifft diese zu, musst Du mit den rechts unterhalb befindlichen Buttons die Vordergrundfarbe auf ROT und die Hintergrundfarbe auf GELB stellen.
    Dann Button 'Hinzufügen' drücken (und das Ganze mit der Bedingung 'ZeitDauer>=0' und den dazugehörigen Farben wiederholen).
    Ist auf diese Weise das Feld 'Stunden' formatieriert, ist diese Prozedur auch auf das Formularfeld 'Minuten' anzuwenden.
     
    Exl121150, 3. Mai 2009
    #4
Thema:

Negative Zahlen mit Funktion INT in die rundet falsch....

Die Seite wird geladen...
  1. Negative Zahlen mit Funktion INT in die rundet falsch.... - Similar Threads - Negative Zahlen Funktion

  2. Formel näher zu 0 mit negativen Zahlen

    in Microsoft Excel Hilfe
    Formel näher zu 0 mit negativen Zahlen: Hallo zusammen, ich suche nach einer Formel/ Lösung die mir die nächste Stufe näher zu 0 ausgibt. Hier ein Beispiel: beträgt meine Veränderung -23% soll laut meinen angegebenen Stufen (-50%,...
  3. Ändern der Anzeigeweise von negativen Zahlen

    in Microsoft Excel Tutorials
    Ändern der Anzeigeweise von negativen Zahlen: Ändern der Anzeigeweise von negativen Zahlen Excel für Microsoft 365 Excel für Microsoft 365 für Mac Excel 2019 Excel 2016 Excel 2019 für Mac Excel...
  4. Negative Zahlen werden in Excel nicht mit Klammern angezeigt

    in Microsoft Excel Tutorials
    Negative Zahlen werden in Excel nicht mit Klammern angezeigt: Negative Zahlen werden in Excel nicht mit Klammern angezeigt Excel für Microsoft 365 Excel für Microsoft 365 für Mac Excel 2019 Excel 2016 Excel 2019 für Mac...
  5. Summieren nur positiver/negativer Zahlen mit Aggregatfunktion

    in Microsoft Excel Hilfe
    Summieren nur positiver/negativer Zahlen mit Aggregatfunktion: Ich habe ein Problem mit dem Summieren nur positiver/negativer Zahlen mit Aggregatfunktion in meiner Tabelle in Spalte B stehen die Werte (positive/negative). Ich möchte nun mit der...
  6. Wenn Wert "X", dann Zahl negativ

    in Microsoft Excel Hilfe
    Wenn Wert "X", dann Zahl negativ: Hallo zusammen Zum Thema mit negativen Zahlen gibt es viele Fragen und Antworten, zu meinem Problem habe ich jedoch nichts gefunden. Folgende Problemstellung: Zelle A1 = "Verkauf" oder "Einkauf"...
  7. Trennen von Negativen und Positifen Zahlen

    in Microsoft Access Hilfe
    Trennen von Negativen und Positifen Zahlen: Hallo! Ich habe eine Tabelle wo positive und Negative Zahlen gemischt sind. Wie ist es möglich diese Spalte auf 2 spalten aufzuteilen. Aktuell: Eingang Ausgang +123,20 123,20...
  8. Datum vor 1900 wird als Negative Zahl dargestellt

    in Microsoft Excel Hilfe
    Datum vor 1900 wird als Negative Zahl dargestellt: Habe eine Mitgliedertabelle als alter Zeit, darin sind Geburtsdaten eingetragen, die bei einigen Mitgliedern als negative Zahl dargestellt wird z.B. (-1745). Ich weiß, dass diese Personen dann vor...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden