Announcement

Collapse
No announcement yet.

Problem mit Abfragen und Berechnung der Werte

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit Abfragen und Berechnung der Werte

    Hallo,

    ich habe folgenden Code:

    txtUmsatz4.Text = (db4StartUmsatz + (db4EndUmsatz - db4StartUmsatz) *
    (DateTime.Now.Subtract(StartZeit).TotalMillisecond s / 1000 /
    dblAnzahlSekundenBisRequery)).ToString("N2");

    Hier wird mir der Umsatz ermittelt und in die TextVariable (txtUmsatz4)
    übergeben.

    txtAuftragseingang4.Text = (db4StartAuftragseingang +
    (db4EndAuftragseingang - db4StartAuftragseingang) *
    (DateTime.Now.Subtract(StartZeit).TotalMillisecond s / 1000 /
    dblAnzahlSekundenBisRequery)).ToString("N2");

    Nochmal dasselbe diesmal wird der Auftragseingang ermittelt und übergeben.

    Nun benötige ich eine Berechnung, und zwar mmuss ich den Umsatz teilen durch
    den Auftragseingang.

    Ich habe es mit einer komplett neuen Abfrage probiert, was ja eigentlich
    quatsch ist da in den Variablen ja schon das Ergebnis steht, jedenfalls das
    hat dann so ausgesehen, aber auch nicht funktioniert:

    txtBook2Bill4.Text = (db4StartUmsatz + (db4EndUmsatz - db4StartUmsatz) /
    (db4StartAuftragseingang + ((db4StartAuftragseingang - db4EndAuftragseingang)
    * 100 * (DateTime.Now.Subtract(StartZeit).TotalMillisecond s / 1000 /
    dblAnzahlSekundenBisRequery)))).ToString("N2");

    Naja und nun versuche ich die ganze Zeit direkt mit den Variablen zu rechnen:

    txtBook2Bill4 = txtUmsatz4/ txtAuftragseingang4

    Allerdings bekomme ich immer eine MMeldung das ich bei double Operatoren das
    nicht machen kann. Muss ich die Variablen erst irgendwie initialisieren? Bin
    leider nicht so der Könner, weiss jemand rat?



    Also Lösungsansatz habe ich dann folgenden Tipp bekommen:

    "Du solltest numerische Variablen deklarieren, dann ihnen Werte bzw.
    Rechergebnisse zuweisen und zum Schluss diese Werte in Zeichenketten
    umwandeln und den Text-Eigenschaften der Objekte zuweisen, z.B. so:"

    Dim v1 As Double = db4StartUmsatz + (db4EndUmsatz - db4StartUmsatz) *
    (DateTime.Now.Subtract(StartZeit).TotalMillisecond s / 1000 /
    dblAnzahlSekundenBisRequery)

    Dim v2 As Double = db4StartAuftragseingang +
    (db4EndAuftragseingang - db4StartAuftragseingang) *
    (DateTime.Now.Subtract(StartZeit).TotalMillisecond s / 1000 /
    dblAnzahlSekundenBisRequery)

    Dim v3 As Double = v1/v2

    txtUmsatz4.Text = v1.ToString("N2")
    txtAuftragseingang4.Text = v2.ToString("N2")
    txtBook2Bill4.Text = v3.ToString("N2")

    Leider ist der Code halt in VB (der Tip) und ich bekomme Fehlermeldungen
    bezüglich fehlender ";".

    Ich bin absoluter Anfänger in C und das vorhandene Projekt habe ich bekommen
    um es anzupassen was mir gerade arge Probleme bereitet. WEiss jemand wie ich
    das Problem beheben kann mit den ";"? Oder hat ein Codebeispiel?

  • #2
    Hallo,

    Also das deklarieren von Variablen um die übersicht zu behalten ist wirklich eine gute Idee. Dabei hast du es dann auch leichter beim debuggen.

    Das Besipiel Zeigt eine Berechnung mit dem "double" Typ, welcher in C#auch genau so heißt.

    Außerdem würde ich gleich damit anfangen den Variablen klingende Namen zu geben wird "design patterns" genannt.
    Code:
    double dUmsatz = ....
    
    double dAuftragseingang  = ....
    
    double dEndergenis = 0;
    if(dAuftragseingang  !=0)  //Abfangen von division by zero
    {
        dEndergenis = dUmsatz / dAuftragseingang ;
    
        //Hier kanst du die Texte den TextBoxen zuweisen mit (ToString) zuweisen.
    }
    else
    {
       //Mögliche ausgabe einer MessageBox
    }
    Hoffe es hilft!

    Grüße

    Martin
    Grüße,

    Martin

    Comment

    Working...
    X