Affichage automatique [Résolu]

Signaler
Messages postés
30
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
13 juillet 2014
-
ami1111
Messages postés
30
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
13 juillet 2014
-
Bonjour à tous,
je suis en train de réaliser un projet sur la gestion des documents, les codes d'ajout de modification et de recherche fonctionnent,mais j'ai une problème avec le code de suppression puisqu'il doit être automatique;j'explique:l'utilisateur doit insérer les coordonnés du document(num,nom,date..)puis après un certain temps(1 année) les documents à éliminer s'affichent sous une liste pour les supprimer(le condition de suppression est le changement du propriété document à supprimer(entité document) du faux vers vrai)ma question est comment on relie entre la propriété et la date pour que faux devient vrai)svp aidez moi;j'ai beaucoup pensé et je n'ai pas trouvé la solution

22 réponses

Messages postés
14653
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 février 2020
139
Bonjour,

Et si à la place de :
convert(DateTime,datedoc.text, "dd-MM-yyyy ")
Tu fais :
DateTime.Parse(datedoc.text).ToString("dd-MM-yyyy")
?


---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
14653
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 février 2020
139
Bonjour,

Peux-tu détailler comment tu stokes les données ?
Sinon, voir avec une comparaison de date.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
30
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
13 juillet 2014

salut,
pour le stockage des données j'utilise une base de donnée(sql server).
Messages postés
728
Date d'inscription
samedi 4 avril 2009
Statut
Membre
Dernière intervention
30 mars 2014
3
Bonjour

Tu écris :

... comment on relie entre la propriété et la date pour que faux devient vrai ...


Il faut avoir fait de la psychologie pour te comprendre, moi ne je compends rien

Comme dit NHenry, et si j'ai un peu compris, en 2012 tu lis les dates des fichiers, et toute date portant l'année < 2012 provoque la suppression potentielle du fichier...

Concernant les BDD, pour ma part je ne conseille pas car j'ai déjà donné : Ce n'est pas de la programmation (du code), mais du paramétrage (comme Excel).
En plus une bse de données a un moteur qui doit être mis à jour, qui doit être distribué, qui tourne plus ou moins bien sur certaine versions d'OS, alors si on peut parfois gagner du temps avec une BDD pour certaines opérations, on en perd beaucoup ensuite, car dès que le moteur va être incompatible avec quelque chose, ou que le PC distant n'aura pas ce qu'il faut pour que ça tourne, ça va encore planter... Ce n'est pas pour rien qu'il est rare de trouver des BDD sur les logiciels...
Pour moi, la seule façon de programmer durablement et sans plantage dans le temps, c'est le code, avec les fichiers txt, bin et autres... Le but relatif d'une programmation et de revenir le moins possibile dessus...

Cordialement, Joe.
Messages postés
30
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
13 juillet 2014

Bonjour,

Pour cette phrase
... comment on relie entre la propriété et la date pour que faux devient vrai ...


je veux dire que la BDD contient un table(entité)document de propriétés:numéro,nom,date et document à supprimer(type booléen)de valeur faux qui doit changer après un certain temps (1 année)et devient vrai ,
ce changement de la propriété booléenne doit effectuer automatiquement selon un code qui relie entre elle et la date,
et pour la comparaison du temps,je ne comprenais pas bien.
Messages postés
14653
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 février 2020
139
Bonjour,

Quel est ton gestionnaire de base de données ?
As-tu regardé la requête UPDATE ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
30
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
13 juillet 2014

Bonjour,

Quel est ton gestionnaire de base de données ?

j'utilise sql server 2008 comme un gestionnaire de BDD.

As-tu regardé la requête UPDATE ?

Vous voulez dire ça
UPDATE document set document à evacuer = true where date=.... 


ça ne marche pas puisqu'il faut une condition sur la date:
l'utilisateur ajoute un document aujourd'hui le 28/03/2012 après une année de conservation une liste des documents à éliminer s'affiche pour que l'utilisateur les supprime(si la date d'entrée dépasse une année,un update s'applique automatiquement et après un filtrage de tous les booléens vrai,une liste s'affiche)le problème est la condition du date,je ne trouve pas comment le réalise en code
Messages postés
14653
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 février 2020
139
Bonjour,

Essayes d'utiliser la fonction SQL :
http://msdn.microsoft.com/fr-fr/library/ms174470%28v=sql.110%29.aspx

Ensuite, voir quel est le pb restant.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
30
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
13 juillet 2014

Bonjour,
j'essayerai d'utiliser cette fonction et mon espoir qu'elle fonctionne.
et merci Mr Henry et Mr Joe pour vos aides.
Messages postés
30
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
13 juillet 2014

Bonsoir à tous,

j'ai un petit probleme à la conversion du string en date (à l'insertion du date d'entée de l'article )

INSERT INTO Document (numero_document,date_entrée) VALUES ('" & num.text & "','"& convert(DateTime,datedoc.text, "dd-MM-yyyy ")&"'
 

et MERCI.
Messages postés
14653
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 février 2020
139
Bonjour,

Le format est bien celui-là, et pas yyyy-mm-dd ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
30
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
13 juillet 2014

Bonjour,

le problème est dans ces messages:
Erreur 1 'Convert' est un type et ne peut pas être utilisé en tant qu'expression.

Erreur 2 'DateTime' est un type et ne peut pas être utilisé en tant qu'expression.
Messages postés
30
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
13 juillet 2014

bonjour,

SVP corrigez ces requêtes

Bouton ajout document(contrôle du date d'ajout)
cmd1.CommandText "UPDATE document SET document à evacuer true WHERE datedoc.Text = DateAdd(DateInterval.Day, 365, dateart)"


Bouton affichage liste
        Try

            Dim strConnexion As String = ""
            Dim Connsql As New SqlConnection(strConnexion)
            Dim strcmd As New SqlCommand
            Connsql.Open()

            Dim strRequete As String = "SELECT * FROM document WHERE document à evacuer=true"
            strcmd.Connection = Connsql
            strcmd.CommandText = strRequete
            strcmd.ExecuteNonQuery()
            DataGridView1.DataSource = strcmd
            strcmd.Connection.Close()
            Connsql.Close()
        Catch ex As Exception
        End Try

    End Sub
Messages postés
30
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
13 juillet 2014

Salut,
svp corrigez ce code de suppression:

Bouton ajout document(contrôle du date d'ajout)

cmd1.CommandText "UPDATE document SET document à evacuer true WHERE datedoc.Text = DateAdd(DateInterval.Day, 365, dateart)"



 Private Sub bouttonaffiche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bouttonaffiche.Click
    


        Try

            Dim strConnexion As String = ""
            Dim Connsql As New SqlConnection(strConnexion)
            Dim strcmd As New SqlCommand
            Connsql.Open()

            Dim strRequete As String = "SELECT * FROM document WHERE document à evacuer=true"
            strcmd.Connection = Connsql
            strcmd.CommandText = strRequete
            strcmd.ExecuteNonQuery()
            DataGridView1.DataSource = strcmd
            strcmd.Connection.Close()
            Connsql.Close()
        Catch ex As Exception
        End Try

    End Sub

    Private Sub Bouttonsup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bouttonsup.Click
        For Each row As DataGridViewRow In DataGridView1.SelectedRows
            DataGridView1.Rows.Remove(row)
        Next
    End Sub


et merci d'avance.
Messages postés
30
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
13 juillet 2014

Bonjour,
SVP quelqu'un me corrige ce code,c'est très urgent.

Code Visual Basic :

Bouton ajout document(contrôle du date d'ajout)

cmd1.CommandText "UPDATE document SET document à evacuer true WHERE datedoc.Text = DateAdd(DateInterval.Day, 365, dateart)"




Code Visual Basic :

Private Sub bouttonaffiche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bouttonaffiche.Click



Try

Dim strConnexion As String = ""
Dim Connsql As New SqlConnection(strConnexion)
Dim strcmd As New SqlCommand
Connsql.Open()

Dim strRequete As String = "SELECT * FROM document WHERE document à evacuer=true"
strcmd.Connection = Connsql
strcmd.CommandText = strRequete
strcmd.ExecuteNonQuery()
DataGridView1.DataSource = strcmd
strcmd.Connection.Close()
Connsql.Close()
Catch ex As Exception
End Try

End Sub

Private Sub Bouttonsup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bouttonsup.Click
For Each row As DataGridViewRow In DataGridView1.SelectedRows
DataGridView1.Rows.Remove(row)
Next
End Sub
Messages postés
30
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
13 juillet 2014

Bonjour;
svp,aidez moi à trouver l'erreur,j'ai essayé beaucoup mais le code ne fonctionne pas
 
       
         Private Sub datp()
        Dim con As String = ""
        Dim connsql As New SqlConnection(con)

      
        Dim cmd As New SqlCommand
         Dim cmd1 As New SqlCommand
        Dim rqsql As String = "SELECT Date_entrée FROM  document"
        Dim entree, sortie As DateTime
        Dim Diffirence As TimeSpan

        connsql.Open()
        cmd.Connection = connsql
        cmd.CommandText = rqsql

        


      
        entree = DateTime.Parse("rqsql")
         sortie = DateTime.Now
        Difference =  sortie-entree
      

        connsql.Close()
        If Difference.TotalDays = 365 Then
            cmd1.CommandText "UPDATE document SET document_à_supprimertrue "
        End If

    End Sub
 


et merci d'avance.

Bonjour,

1) Ouvrir l'aide de VB.net

2) Trouver Try
dans l'aide et lire religieusement l'article

3) Appliquer les indications à ton propre code

4) Au besoin allervoir là ou revenir ici avec les messages d'erreurs éventuels et la ligne qui plante.
Messages postés
30
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
13 juillet 2014

Bonjour;
cmarcotte,mon problème est qu'aucune erreur s'affiche et aussi en msgbox le texte seulement s'affiche sans le nombre du jours,svp aidez moi à trouver la solution,j'ai essayé beaucoup.
private sub datp()
dim con as string = ""
dim connsql as new sqlconnection(con)

dim cmd as new sqlcommand
dim cmd1 as new sqlcommand
id_type='1' dim rqsql as string = "select date_entrée from document" ' where
dim entree, sortie as datetime
dim diffirence as timespan

connsql.open()
cmd.connection = connsql
cmd.commandtext = rqsql
dim date_entrée as date = cmd.executescalar()

entree = datetime.parse(date_entrée)
sortie = datetime.now

diffirence = entree.subtract(sortie)
msgbox("Le nombre du jours est ", diffirence.totaldays)
if diffirence.totaldays = 365 then
cmd1.commandtext "update document set document_à_supprimertrue " ' where id_type='1'
cmd1.executenonquery()
end if

connsql.close()

end sub

Bonsoir,
Ces accents dans tes requêtes sont suspects mais je peux me tromper
Messages postés
30
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
13 juillet 2014

Bonsoir;
Les accents..faute de frappe

private sub datp()
dim con as string = ""
dim connsql as new sqlconnection(con)

dim cmd as new sqlcommand
dim cmd1 as new sqlcommand
 dim rqsql as string = "select date_entrée from document where id_type='1' "
dim entree, sortie as datetime
dim diffirence as timespan

connsql.open()
cmd.connection = connsql
cmd.commandtext = rqsql
dim date_entrée as date = cmd.executescalar()

entree = datetime.parse(date_entrée)
sortie = datetime.now

diffirence = entree.subtract(sortie)
msgbox("Le nombre du jours est ", diffirence.totaldays)
if diffirence.totaldays = 365 then
cmd1.commandtext "update document set document_à_supprimertrue  where id_type='1' "
cmd1.executenonquery()
end if

connsql.close()

end sub
1 2