IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Contrôle sur une date


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Par défaut Contrôle sur une date
    Salut, je veux contrôler la date de signature d'un avenant par rapport a la date du système. Si la date de signature de l'avenant est supérieure à la date du système, un msg s'affiche "La date de signature de l'avenant doit être inférieure à la date du système". Comment faire?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    If Date.Compare(Date.Today, Dates.Value) Then
                MsgBox("La date de signature de l'avenant doit être postérieure à la date système")
                Exit Sub
            End If

  2. #2
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Comparaison de DateTime
     
    On utilise Compare: DateTime.Compare(t1, t2) retourne 0 si t1=t2, une valeur positive si t1>t2 négative si t1<t2.
    http://plasserre.developpez.com/v4-5.htm

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Par défaut
    Est ce que quelqu'un sait comment faire pour :
    - si la date de signature est égale à la date du système alors lors de l'insertion le champ date prend " " sinon le champ date prend la valeur saisie.
    - si la date de signature est > à la date fin de l'abonnement alors un msg apparaît "La date de signature doit être inférieure à la date fin de l'abonnement".

    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    If command.Parameters("@dates").Value = Date.Today Then
                command.Parameters("@dates").Value = ""
            Else
                command.Parameters.Add(New OleDbParameter("@dates", OleDbType.Date))
                command.Parameters("@dates").Value = CType(Dates.Text, Date)
            End If
            If DateTime.Compare(Datef.Text, Date.Today) Then
                MsgBox("La date de signature de l'abonnement doit être inférieure à la date fin")
                Exit Sub
            End If

  4. #4
    Membre chevronné
    Inscrit en
    Octobre 2005
    Messages
    400
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 400
    Par défaut Une date nullable
    Tu devrais peut être essayer de passer par une DateTime nullable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private DateTime? maDate

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Par défaut
    Est ce que vous pouvez m'expliquer d'avantage comment faire car je suis une débutante et j'essaye d'apprendre ce langage.

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Par défaut
    Voici ce que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    If Val(Dates.Value) = Val(Date.Today) Then
                command.Parameters("@dates").Value = ""
            Else
                command.Parameters.Add(New OleDbParameter("@dates", OleDbType.Date))
                command.Parameters("@dates").Value = CType(Dates.Text, Date)
            End If
            If Val(Dates.Value) > Val(Datef.Text) Then
                MsgBox("La date de signature de l'abonnement doit être inférieure à la date fin")
                Exit Sub
            End If
            If Val(Datef.Value) = Val(Date.Today) Then
                command.Parameters("@datef").Value = ""
            Else
                command.Parameters.Add(New OleDbParameter("@datef", OleDbType.Date))
                command.Parameters("@datef").Value = CType(Datef.Text, Date)
            End If
    tout va bien sauf qu'il me met un msg d'erreur au niveau de cette ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    command.Parameters("@datef").Value = ""
    A ce niveau je veux que lorsque l'on ne choisit pas une date a travers le datetimepicker (par défaut il y a la date du système), lors de l'insertion des données dans la table il prend une chaine vide. Alors comment faire?

Discussions similaires

  1. Contrôle sur une date
    Par loverdev dans le forum VB.NET
    Réponses: 23
    Dernier message: 06/06/2007, 09h06
  2. requette sur une date
    Par AlphonseBrown dans le forum Langage SQL
    Réponses: 13
    Dernier message: 04/04/2005, 12h41
  3. Travailler sur une date
    Par HqX dans le forum Langage SQL
    Réponses: 11
    Dernier message: 05/10/2004, 15h54
  4. Problème lors d'un Update sur une date
    Par Nany dans le forum ASP
    Réponses: 3
    Dernier message: 19/05/2004, 22h37
  5. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo