Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Problem mit Datumsberechnung und diesbzgl. Bedingung
zurück: per Buttonklick neue Tabelle mit Wunschnamen erstellen weiter: Uform lässt update oder insert nicht zu 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
Mirage
Es wird !!!


Verfasst am:
13. März 2007, 10:30
Rufname:
Wohnort: Mainz

Bräuchte einen Denkanstoß...komplex - Bräuchte einen Denkanstoß...komplex

Nach oben
       Version: Office 2003

Hallo,

mein Problem besteht in folgender Ausgangssituation...

ich habe folgende Felder:

Leasingbeginn (datum)
Leasingende (datum)
aktueller Kilometerstand
Maximale Laufleistung (Wert 250000 KM)

Die Fahrzeuge sind auf 5 Jahre geleast. d.h. sie dürfen maximal 50000 KM im Jahr fahren, ohne über die maximale Laufleistung von 250000 KM zu kommen, alles was drüber kommt, kostet Asche...
Nun fahren einige unserer Fahrer längere Strecken andere kürzere...
Um vorzubeugen, das ein Fahrzeug zuviel Kiolmeter fährt, möchte mein Fuhrparkleiter gerne eine Art Warnung haben, wann er ein Auto mit einem anderen tauschen muss um die Kilometerbegrenzung einzuhalten...

nun müsste man dem Programm irgendwie mitteilen, das

a: der Zeitraum in dem sich das Ganze abspielt 5 Jahre beträgt
b: das man pro Jahr nur 50000 Km fahren sollte
c: wenn sich der aktuelle Kilometerstand einer "kritischen" Marke nähert , eine Warnung erscheint (vielleicht ein Textfeld das rot wird oder so)

Ich bräuchte nur einen Denkanstoß, weil irgendwie dreh ich mich im Kreis....und mit Zeit und Datumsberechnung habe ich es nicht so.... Embarassed
stpimi
Moderator Access


Verfasst am:
13. März 2007, 11:04
Rufname:
Wohnort: Graz


AW: Bräuchte einen Denkanstoß...komplex - AW: Bräuchte einen Denkanstoß...komplex

Nach oben
       Version: Office 2003

Servus!

Mit DateDiff() kannst Du das aktuelle Fahrzeugalter ermitteln (sinnvoll wahrscheinlich in Monaten).
Damit dividierst Du in einem Textfeld (im Steuerelementinhalt) den Kilometerstand durch die Monate:
Code:
=[aktueller Kilometerstand] / DatDiff("m";[Leasingbeginn];Date())
- wenn der Wert 4000 (250000 : 60 = 4166) oder mehr beträgt, kannst in einem Textfeld eine Warnung ausgeben.

Das Textfeld mit der Warnung kannst Du am Formular ja fix einbauen - mit einer Ereignisprozedur stellst Du es auf sichtbar oder unsichtbar.

Klicke mit der rechten Maustaste neben das Formular und wähle Eigenschaften. Im Register Ereignis wählst Du bei "Beim Anzeigen" im DropDown den Eintrag „Ereignisprozedur“ und klickst auf die 3 Punkte rechts neben dem Eingabefeld.
Du landest im Code-Editor. Dort ist schon der Prozedurrumpf vorgegeben:
Code:
Private Sub Form_Current

End Sub
Dazwischen schreibst Du den folgenden Code:
Code:
    Me!DeinTextfeld.Visible = (Me!DeinBerechnungsfeld > 4000)

_________________
Lg, Michael

Dein Feedback hilft auch anderen - vergiß es nicht!


Zuletzt bearbeitet von stpimi am 13. März 2007, 11:09, insgesamt einmal bearbeitet
Mirage
Es wird !!!


Verfasst am:
13. März 2007, 11:08
Rufname:
Wohnort: Mainz

AW: Bräuchte einen Denkanstoß...komplex - AW: Bräuchte einen Denkanstoß...komplex

Nach oben
       Version: Office 2003

Hallo,

gleich mal ausprobieren......melde mich wieder .... Very Happy

Hallo nochmal

Also soweit so gut...Smile
Code:
    Dim Laufzeit As Integer
    Dim Begrenzung As Integer
   
    Laufzeit = DateDiff("m", Me!Leasingbeginn, Date)
    Begrenzung = Me!UFO1!MaxvonKilometer \ Laufzeit
    Me!Laufzeit = Begrenzung
    If Begrenzung <= 3500 Then
        Me!AmpelGrün.BackColor = 65280
      Else
        Me!AmpelGrün.BackColor = 16777215
    End If
    If Begrenzung >= 3501 Then
        Me!AmpelRot.BackColor = 255
      Else
        Me!AmpelRot.BackColor = 16777215
    End If
    If Begrenzung >= 3500 And Begrenzung <= 4200 Then
        Me!AmpelGelb.BackColor = 65535
      Else
        Me!AmpelGelb.BackColor = 16777215
    End If
Mein Problem ist nun das er mir bei einem Wert von sagen wir mal 3765 das rot und gelb gleichzeitig an ist...wie kann ich das verhindern...soll ja immer nur eine Farbe geben....
SGast
Gast


Verfasst am:
13. März 2007, 17:18
Rufname:

AW: Bräuchte einen Denkanstoß...komplex - AW: Bräuchte einen Denkanstoß...komplex

Nach oben
       Version: Office 2003

Hallo,
ich denke mal anm einfachsten setzt du das über Case um:
Code:
    Select Case Begrenzung
      Case 1000 To 3000:
        MsgBox "1000 To 3000"
      Case 3001 To 4000:
        MsgBox "3001 To 4000"
      Case Else:
        MsgBox "Was anderes"
    End Select

Gruß Steffen
Mirage
Es wird !!!


Verfasst am:
19. März 2007, 13:03
Rufname:
Wohnort: Mainz

Problem mit Datumsberechnung und diesbzgl. Bedingung - Problem mit Datumsberechnung und diesbzgl. Bedingung

Nach oben
       Version: Office 2003

Edit: Themen zusammengeführt / stpimi, 19.03.2007

Hallo,

folgende Vorraussetzungen...

1 fahrzeug darf pro jahr max 50000 km fahren....

ich habe ein Startjahr und das heutige Datum und den aktuellen Kilometerstand des Fahrzeugs....

wenn ich nun rechne
Code:
    Me!Leasingjahr = DateDiff("yyyy", Me!Leasingbeginn, Date)
wobei Leasingbeginn der 12.01.2005 ist und das heutige Datum, dann ergibt das als Wert eine 2.

sagen wir mal der aktuelle Kilometerstand des Fahrzeugs ist 100222 km...bei mir ist es nun so, das eine kleine Ampel umspringt, von Grün auf Rot wenn Kilometer überschritten..... (weil 2 Jahre und mehr als 2x50000km)

das ist aber nicht richtig, weil wir März haben und das Fahrzeug sich ja im 3 Leasingjahr befindet.....

wie mache ich Access begreiflich, das er die Monate noch mit berücksichtigt....

der Rest des Codes ist folgender:
Code:
    Dim Jahr1 As Double
    Dim Jahr2 As Double
    Dim Jahr3 As Double
    Dim Jahr4 As Double
    Dim Jahr5 As Double
    Dim AktuellerKMWert As Double
   
    Jahr1 = 50000
    Jahr2 = 100000
    Jahr3 = 150000
    Jahr4 = 200000
    Jahr5 = 250000
    If Me!Leasingjahr = 1 Then
        Me!Jahr1.BackColor = 65280
      Else
        Me!Jahr1.BackColor = 12632256
    End If
    If Me!Leasingjahr = 2 Then
        Me!Jahr2.BackColor = 65280
      Else
        Me!Jahr2.BackColor = 12632256
    End If
    If Me!Leasingjahr = 3 Then
        Me!Jahr3.BackColor = 65280
      Else
        Me!Jahr3.BackColor = 12632256
    End If
    If Me!Leasingjahr = 4 Then
        Me!Jahr4.BackColor = 65280
      Else
        Me!Jahr4.BackColor = 12632256
    End If
    If Me!Leasingjahr = 5 Then
        Me!Jahr5.BackColor = 65280
      Else
        Me!Jahr5.BackColor = 12632256
    End If
    If Me!Leasingjahr = 6 Then
        Me!Jahr6.BackColor = 65280
      Else
        Me!Jahr6.BackColor = 12632256
    End If
    AktuellerKMWert = Me!UFO1!MaxvonKilometer
    If Me!Leasingjahr = 1 And AktuellerKMWert < Jahr1 Then
        Me!AmpelGrün.ForeColor = 65280
      Else
        Me!AmpelGrün.ForeColor = 12632256
        If Me!Leasingjahr = 1 And AktuellerKMWert > Jahr1 Then
            Me!AmpelRot.ForeColor = 255
          Else
            Me!AmpelRot.ForeColor = 12632256
            If Me!Leasingjahr = 2 And AktuellerKMWert < Jahr2 Then
                Me!AmpelGrün.ForeColor = 65280
              Else
                Me!AmpelGrün.ForeColor = 12632256
                If Me!Leasingjahr = 2 And AktuellerKMWert > Jahr2 Then
                    Me!AmpelRot.ForeColor = 255
                  Else
                    Me!AmpelRot.ForeColor = 12632256
                    If Me!Leasingjahr = 3 And AktuellerKMWert < Jahr3 Then
                        Me!AmpelGrün.ForeColor = 65280
                      Else
                        Me!AmpelGrün.ForeColor = 12632256
                        If Me!Leasingjahr = 3 And AktuellerKMWert > Jahr3 Then
                            Me!AmpelRot.ForeColor = 255
                          Else
                            Me!AmpelRot.ForeColor = 12632256
                            If Me!Leasingjahr = 4 And _
                               AktuellerKMWert < Jahr4 Then
                                Me!AmpelGrün.ForeColor = 65280
                              Else
                                Me!AmpelGrün.ForeColor = 12632256
                                If Me!Leasingjahr = 4 And _
                                   AktuellerKMWert > Jahr4 Then
                                    Me!AmpelRot.ForeColor = 255
                                  Else
                                    Me!AmpelRot.ForeColor = 12632256
                                    If Me!Leasingjahr = 5 And _
                                       AktuellerKMWert < Jahr5 Then
                                        Me!AmpelGrün.ForeColor = 65280
                                      Else
                                        Me!AmpelGrün.ForeColor = 12632256
                                        If Me!Leasingjahr = 5 And _
                                           AktuellerKMWert > Jahr5 Then
                                            Me!AmpelRot.ForeColor = 255
                                          Else
                                            Me!AmpelRot.ForeColor = 12632256
                                        End If
                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
            End If
        End If
    End If
Thomas2007
langsam gehts besser... , SQL/DB gut


Verfasst am:
19. März 2007, 13:44
Rufname:

AW: Problem mit Datumsberechnung und diesbzgl. Bedingung - AW: Problem mit Datumsberechnung und diesbzgl. Bedingung

Nach oben
       Version: Office 2003

Hallo,

du kannst mit DateDiff statt Anzahl von Jahren die Anzahl von Tagen zurückgeben lassen und durch 365 teile und das ganze aufrunden.

Aufrunden in Access

_________________
Gruß
Thomas

Anleitung für das Anhängen von Dateien: Klicke links auf [www]
stpimi
Moderator Access


Verfasst am:
19. März 2007, 13:50
Rufname:
Wohnort: Graz

AW: Problem mit Datumsberechnung und diesbzgl. Bedingung - AW: Problem mit Datumsberechnung und diesbzgl. Bedingung

Nach oben
       Version: Office 2003

Servus! Deshalb habe ich Dir auch empfohlen, das ganze in Monaten abzuwickeln ...

Bitte bleib bei einem Thread für ein Problem, dann wird das ganze übersichtlicher und und es muss nicht jede Antwort bei Adam und Eva beginnen!
Themen zusammengeführt, stpimi 19.03.2007

_________________
Lg, Michael

Dein Feedback hilft auch anderen - vergiß es nicht!
Mirage
Es wird !!!


Verfasst am:
19. März 2007, 14:19
Rufname:
Wohnort: Mainz


AW: Problem mit Datumsberechnung und diesbzgl. Bedingung - AW: Problem mit Datumsberechnung und diesbzgl. Bedingung

Nach oben
       Version: Office 2003

Sorry, du hast natürlich Recht....hatte nicht aufgepasst und einen neuen Thread gemacht.... Embarassed
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: Berechnung über 12 Abfrageformulare - Berechnung zu komplex 1 Phil_W 298 06. Sep 2012, 18:02
MiLie Berechnung über 12 Abfrageformulare - Berechnung zu komplex
Keine neuen Beiträge Access Tabellen & Abfragen: Denkanstoß Bekleidungsverwaltung 2 Einsteiger 1245 09. Jul 2012, 19:34
Jumper18 Denkanstoß Bekleidungsverwaltung
Keine neuen Beiträge Access Programmierung / VBA: Elemente aus String in mehrwertige Felder "packen" 3 Thomas V. 728 13. Dez 2010, 20:30
KlausMz Elemente aus String in mehrwertige Felder "packen"
Keine neuen Beiträge Access Tabellen & Abfragen: Ausdruck zu komplex....???? 2 Downtown09 1570 16. Feb 2010, 10:09
Downtown09 Ausdruck zu komplex....????
Keine neuen Beiträge Access Programmierung / VBA: Bräuchte mal eure Hilfe um etwas zu programmieren 10 Michaela*83* 408 18. Nov 2009, 21:12
jens05 Bräuchte mal eure Hilfe um etwas zu programmieren
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage zu komplex 5 Nissepuk 319 10. Okt 2009, 10:12
MiLie Abfrage zu komplex
Keine neuen Beiträge Access Berichte: Dieser Ausdruck wurde falsch eingegeben oder zu komplex 6 aluKatze 1692 20. Feb 2009, 12:08
aluKatze Dieser Ausdruck wurde falsch eingegeben oder zu komplex
Keine neuen Beiträge Access Formulare: Doppelte abfrage im Formular (denkanstoß) 2 lindi0815 303 27. Jan 2009, 09:16
lindi200000 Doppelte abfrage im Formular (denkanstoß)
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage ist zu komplex 10 Totti 1 4846 16. Jan 2009, 06:32
Willi Wipp Abfrage ist zu komplex
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage ist zu komplex 0 Gast 204 09. Jan 2009, 12:33
Gast Abfrage ist zu komplex
Keine neuen Beiträge Access Programmierung / VBA: Denkanstoß/Hilfe zum kopieren benötigt 2 nakoda 505 17. Mai 2008, 20:10
nakoda Denkanstoß/Hilfe zum kopieren benötigt
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage ist zu Komplex 6 Imo-Parceval 484 09. Jan 2008, 20:00
Willi Wipp Abfrage ist zu Komplex
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: CSS Forum