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 :

Recuperer jour et Mois en cours


Sujet :

VB.NET

  1. #1
    Membre régulier Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 253
    Points : 123
    Points
    123
    Par défaut Recuperer jour et Mois en cours
    Salut tout le monde
    Gentelman .. s'il vs plait j'ai vraiment besoin d'aide pour resoudre ce cauchemar
    Avec trois champs dans ma Table1 ..(Id-Proverbe_Date-Proverbe_Text)
    J'ai ecris manuellement des proverbes dans ma Table1 et j'ai voulu affichre chaque nouveau jour un de ces proverbes dans TextBox1
    Voici mon code qui fonctionne tres bien et affiche correctement le proverbe du jour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            Dim sConnection As String = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=|datadirectory|\Database1.mdb"
            Using Conne As New OleDbConnection(sConnection)
                Conne.Open()
                Using Comme As New OleDbCommand("SELECT * FROM Table1 WHERE Proverbe_Date = Date()", Conne)
                    Using DR = Comme.ExecuteReader()
                        If DR.HasRows Then
                            Do While DR.Read
                                TextBox1.Text = DR.Item("Proverbe_Text").ToString()
                            Loop
                        End If
                    End Using
                End Using
                Conne.Close()
            End Using
    Ma malheur c'est .. avec ce code je serai oblige d'ecrire des proverbes de 10 ou 20 ou 30 prochaines annees car le champs de ( Proverbe_Date ) est bien comme ca par exemple :07/03/2019
    Tandsique moi je veux ecrire simplement 365 proverbes et chaque nouvelle annee se repetent ces proverbes deja ecrits .. donc il est necessaire de mettre query pour recuperer le jour et le mois
    J'ai essaye comme ca mais j'ai pas reussi ..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Using Comme As New OleDbCommand("SELECT * FROM Table1 where month(Proverbe_Date)  AND myday(Proverbe_Date) ", conne)
    Comment faire svp pour afficher le proverbe dans TextBox1 depent de jour en cours et mois en cours .. et on ne tient pas compte d'annee actuelle
    Amicalement
    MADA

  2. #2
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Salut Mada,

    Voici lien lien pour une doc complète en SQL : https://sql.sh/fonctions
    Tu y trouveras notamment la fonction LEFT (https://sql.sh/fonctions/left). Elle devrait te permettre de rechercher une date sur base des 5 premiers caractères à gauche (par exemple 07/03) :
    SELECT LEFT( Date, 5 );
    ou bien, sans garantie de syntaxe, quelques chose comme :
    SELECT Proverbe, Date, LEFT(Date, 5) AS Test FROM UneTable WHERE (Test = '07/03');

    J'espère que ceci t'aidera ...

  3. #3
    Membre régulier Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 253
    Points : 123
    Points
    123
    Par défaut
    Merci beaucoup cher Phil Rob pour l'explication et pour ces interessants liens
    Tres tres gentil de votre part
    J'ai essaye de mettre le code au dessous
    J'ai eu ce message d'erreur ( Aucune valeur donnée pour un ou plusieurs des paramètres requis. )
    Cordialement
    MADA

  4. #4
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 078
    Points : 17 078
    Points
    17 078
    Par défaut
    Salut

    Citation Envoyé par MADA BLACK
    Ma malheur c'est .. avec ce code je serai oblige d'ecrire des proverbes de 10 ou 20 ou 30 prochaines annees car le champs de ( Proverbe_Date ) est bien comme ça par exemple :07/03/2019
    Donc toutes tes dates dans la BDs sont de l'année 2019, dans ce cas, peut être reconstruire la date à partir de la date du jour et substituer l'année en cours avec l'année du champs Proverbe_Date donc DateProverbe = Cdate(day(date.now) + "/" + month(date.now) + "/2019").

    MADA BLACK
    , comme tu le sais, je ne suis pas un programmeur VB.net, mais je fus un programmeur VB6
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    OK Mada, ma syntaxe était approximative ... mais le l'avais annoncé ...

    Voici la syntaxe correcte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Table1 WHERE (Left(Proverbe_Date, 5) = '07/03')
    J'ai écrit SELECT * ... mais tu peux bien sûr désigner les champs qui t’intéressent.


    Bonne journée,

  6. #6
    Membre régulier Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 253
    Points : 123
    Points
    123
    Par défaut
    Bonjour cher ProgElect
    Tres ravi de vous rencontrer ici dans ce sujet .. tres gentil de votre part
    Merci beaucoup pour l'intention d'aide mais malheureusement j'ai pas pu manipuler votre code dans le mien
    Dans tous les cas Merci
    Amicalement
    MADA

    Bonjour Phil Rob
    Merci beaucoup maitre pour votre super suivi . tres tres gentil de votre part .. vous etes vraiment respectable .. je vous respecte et je respecte vos impeccables solutions
    Maintenant .. je n'ai aucun message d'erreur dans le code mais le Proverbe _Text ne s'affichera pas dans TextBox1
    Merci beaucoup d'avance pour l'aide
    Amicalement
    MADA

  7. #7
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 155
    Points : 25 074
    Points
    25 074
    Par défaut
    appliquer une fonction de transformation à une colonne est rarement une bonne idée, au lieu de juste lire les valeurs (voir d'utiliser un index) vous aller perdre du temps à transformer toutes les valeurs (voire rendre impossible l'utilisation d'index)

    donc la solution de ProgElecT est déjà mieux, il n'y a que la valeur de filtre en entrée qui est modifiée

    après pourquoi stocker une date entière dans la base si c'est juste un morceau de date que vous voulez
    si tu stockes (var)char(4) du type '3112' alors tu peux faire "... where day = '" + datetime.now.tostring("ddMM") + "'"
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Membre régulier Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 253
    Points : 123
    Points
    123
    Par défaut
    Merci Gentelman
    Merci Phil Rob
    C'est parfaitement resolu
    Merci pour vos impeccable solution
    Cordialement
    MADA

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Jours du mois en cours
    Par Kalas22 dans le forum Langage
    Réponses: 5
    Dernier message: 17/05/2011, 16h49
  2. Premier jour du mois en cours
    Par JuniorBI dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 05/10/2010, 15h13
  3. Premier jour du mois en cours
    Par Manu355 dans le forum Débuter
    Réponses: 6
    Dernier message: 23/09/2010, 16h16
  4. Dernier Jours du mois en cours
    Par paradeofphp dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/06/2006, 19h55
  5. Récuperer les jours du mois en cours
    Par mindwind dans le forum Oracle
    Réponses: 22
    Dernier message: 15/12/2005, 11h30

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