vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Zeitspanne Zugrifsberechtigung 
Autor: Erichbru
Datum: 06.01.24 13:53

Hallo zusammen,

ich brauche eure Hilfe bzgl. einer Berechnung (Zugriff auf Datatable) nur von bis Uhrzeit

wenn heute >= 20:00 Uhr dann keine Daten mehr hinzufügen!

der Bereich soll immer das aktuelle Datum sein von 08:00 Uhr bis 20:00 Uhr dateneingabe möglich

wie check ich das ab?

 
Dim PrüfDatumvon As Date ??
Dim PrüfDatumbis As Date ??
 
If DateTime.Now < PrüfDatum Then
            '("Eingabe noch gültig")
ElseIf DateTime.Now > PrüfDatum Then
            '("Eingabe nicht mehr gültig")
        End If
evtl. denke ich wieder mal komplizierter als es ist

Danke für eure Hilfe schon mal im vorraus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeitspanne Zugrifsberechtigung 
Autor: effeff
Datum: 06.01.24 15:46

Im einfachen Fall z. B. so:

        Dim tnow As DateTime = Format(Now.ToLocalTime, "HH:mm:ss")
        Dim tstart As DateTime = "08:00:00"
        Dim tende As DateTime = "20:00:00"
 
        If tnow > tstart And tnow < tende Then
            MessageBox.Show("Du kannst arbeiten!")
        End If

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeitspanne Zugrifsberechtigung 
Autor: Erichbru
Datum: 06.01.24 16:58

Danke effeff,

habe es mal so probiert nach deinem Post ist ne Lampe angegangen >>> OK ?

 Private Sub checkdate()
        datBeginnzeitTextBox.Clear()
        datEndzeitTextBox.Clear()
 
        'Eingabezeiten festlegen
        Dim startEingabeDate As New Date(Now.Year, Now.Month, Now.Day, 7, 30, 0)
        Dim endeEingabeDate As New Date(Now.Year, Now.Month, Now.Day, 20, 0, 0)
 
        datBeginnzeitTextBox.Text = startEingabeDate.ToString
        datEndzeitTextBox.Text = endeEingabeDate.ToString
 
        If Now < endeEingabeDate Then
            MessageBox.Show("Du darfst noch Daten einschreiben!")
 
        Else
            MessageBox.Show("Du darfst keine Daten mehr einschreiben!")
 
        End If


wie könnte man da eine Function draus machen ? (True, False)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeitspanne Zugrifsberechtigung 
Autor: Erichbru
Datum: 06.01.24 17:37

ich denke ich muss das so prüfen oder?

    'Eingabezeiten festlegen
        Dim startEingabeDate As New Date(Now.Year, Now.Month, Now.Day, 7, 30, 0)
        Dim endeEingabeDate As New Date(Now.Year, Now.Month, Now.Day, 20, 0, 0)
 
        datBeginnzeitTextBox.Text = startEingabeDate.ToString
        datEndzeitTextBox.Text = endeEingabeDate.ToString
 
        'Die Abfrage habe ich nun so geschrieben
        If DateTime.Now >= startEingabeDate And DateTime.Now <= _
          endeEingabeDate Then
            MessageBox.Show("Du darfst noch Daten einschreiben!")
 
        Else
            MessageBox.Show("Du darfst keine Daten mehr einschreiben!")
 
        End If
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeitspanne Zugrifsberechtigung 
Autor: sv00010
Datum: 06.01.24 18:21

Zum Vergleichen zweiter DateTime-Werte (in VB.Net auch einfach Date),
kann die Compare-Methode von System.DateTime bzw Date verwendet werden.

https://learn.microsoft.com/de-de/dotnet/api/system.datetime.compare?view=netframework-4.0

Beitrag wurde zuletzt am 06.01.24 um 18:21:51 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeitspanne Zugrifsberechtigung 
Autor: Manfred X
Datum: 06.01.24 19:03

Hallo!

Allgemeiner formuliert:

Zunächst wäre zu prüfen, ob die Startuhrzeit früher oder später liegt
als die Enduhrzeit, ob also (vermutlich) ein Tageswechsel vorliegt.

Dementsprechend ist eine Fallunterscheidung erforderlich.

Bei einem Tageswechsel ist eine zulässige Uhrzeit später/gleich als der Startzeitpunkt,
ODER früher/gleich als der Endzeitpunkt.

Liegt kein Tageswechsel zwischen Start und Ende-Uhrzeit, liegen zulässige
Uhrzeiten später/gleich der Start- UND früher/gleich der End-Uhrzeit.

      Dim input_begin As New TimeSpan(8, 0, 0)
      Dim input_end As New TimeSpan(20, 0, 0)
 
      If now.TimeOfDay < input_begin Or now.TimeOfDay > input_end Then
          MsgBox("Unzulässige Uhrzeit")
      End If
Bei Verwendung der Timespan-Klasse erübrigt sich das Hantieren mit den Datumswerten.

Allerdings kann der aktuelle Wochentag von Bedeutung sein, wennn man z.B. Eingaben an den
Wochenenden verhindern will.

Beitrag wurde zuletzt am 06.01.24 um 19:12:16 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeitspanne Zugrifsberechtigung 
Autor: Erichbru
Datum: 07.01.24 17:47

Danke euch für die Hinweise und Anmerkungen.

der Hinweis von Manfred X den werde ich in meiner Anwendung versuchen zu berücksichtigen,

so ungefähr: if (DateTime.Now.DayOfWeek = DayOfWeek.Wednesday) then oder?

If (DateTime.Now.DayOfWeek = DayOfWeek.Sunday or ) then oder?
ansonsten was ich gesucht habe.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel