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 6 et antérieur Discussion :

assainissement base mdb sous vb6


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 83
    Points : 40
    Points
    40
    Par défaut assainissement base mdb sous vb6
    Bonsoir,
    Dans une application en vb6 et base données acess composée de plusieurs tables je veux supprimer des enregistrements dont la date est inférieure à celle saisie par l'utilisateur.
    Pour cela j'ai crée une form avec textbox et bouton command.
    Le champs date_consultation dans la table patient est multiline et peut contenir plusieurs dates.( ex:01/01/1994,25/12/1995,30/01/1997).

    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
    Private Sub Command1_Click()
    rs.MoveFirst
            Do While Not rs.EOF
                If Trim(rs!Date_Consultation) < Trim(Text1.Text) Then
                   h = MsgBox("voulez vous vraiment supprimer cet           enregistrement", vbYesNo, Suppression)
                   If h = vbYes Then
                   rs.Delete
                        MsgBox ("suppression effectuée avec succes"), vbInformation, "Suppression"
     
                        Exit Sub
                        End If
                        End If
                rs.MoveNext
             Loop
    End Sub
    merci d'avance

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Et la question est ?
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  3. #3
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 83
    Points : 40
    Points
    40
    Par défaut asainissement base mdb sous vb6
    Bonsoir,
    merci ohmonbato.
    la question est: le code passe sans erreur mais rien n'est supprime.
    salutations.

  4. #4
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Faut pas faire un update du recordset après avoir effacé ?
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonjour,

    et ne pas oublier (si le champ est de type date... et... de quel format ?) que ce qui vient de la textbox est de type string ....(et ... du même format ?)

    et puis j' "aime" bien le
    qui fera que le premier article correspondant rencontré arrêtera tout (pas d'examen des autres articles) ===>> vachement pratique ...!

    EDIT : on pourra trouver préférable :
    - de constituer un recorset des articles répondant à ce critère
    - de les dérouler (par movenext) un par un pour obtenir la confirmation de suppression
    - de le faire par une boîte de dialogue permettant l'abandon général (on ne sait jamais... imaginons que 1000 articles soient sélectionnés et que l'utilisateur soit appelé par son chef... au milieu de son travail)
    - de supprimer si conformation.

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    Je propose une méthode scolaire en espèrant que sa marche dans ton cadre
    Pourquoi ne pas utiliser une requête plutot qu'un curseur??
    Cela donnerait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub Command1_Click()
     
         'il me semble que c'est # pour les date dans access
         sql = "delete from table where date < #" & textbox.text & "#;"
     
         h = MsgBox("voulez vous vraiment supprimer cet enregistrement",          vbYesNo, Suppression)
         If h = vbYes Then
                   'cnx c'est ta chaine de connexion
                   cnx.execute sql
         end if
     
    End Sub

  7. #7
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 83
    Points : 40
    Points
    40
    Par défaut asainissement base mdb sous vb6
    Bonjour,
    Apres avoir essayer les 2 codes le probleme persiste toujours,rien n'est efface.
    j'attends toujours vos aides.
    merci
    1er code :admnico.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Command1_Click()
       'il me semble que c'est # pour les date dans access
         SQL = "delete from patient where date_consultation < #" & Text1.Text & "#;"
         h = MsgBox("voulez vous vraiment supprimer cet enregistrement", vbYesNo, Suppression)
         If h = vbYes Then
                   'cnx c'est ta chaine de connexion
                   X.Execute SQL
         End If
         Text1.Text = " "
         Text1.SetFocus
     End Sub
    2eme code.
    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
    Private Sub Command1_Click()
    rs.MoveFirst
            Do While Not rs.EOF
                If Trim(rs!date_consultation) < Trim(Text1.Text) Then
                        h = MsgBox("voulez vous vraiment supprimer cet enregistrement", vbYesNo, Suppression)
                        If h = vbYes Then
                        rs.Delete
                        Adodc1.Recordset.Delete
                        MsgBox ("suppression effectuée avec succes"), vbInformation, "Suppression"
                        Exit Sub
                        End If
                        End If
                rs.MoveNext
             Loop
      End Sub
    salutations.

  8. #8
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Ton problème est là :

    Le champs date_consultation dans la table patient est multiline et peut contenir plusieurs dates.( ex:01/01/1994,25/12/1995,30/01/1997).
    1) de quel type est ce champ, très exactement ?
    2) s'il contient donc plusieurs dates, laquelle doit être retenue comme critère ?
    Suffit-il de l'une seule d'entre elles ?
    Faut-il que toutes les dates correspondent à ton critère ?
    Tout celà est pour l'instant fort vague ...
    Il me semble que, dans tous les cas, il faudra passer par une boucle....

    EDIT : une question subsidiaire (vu que tu ne nous en as pas parlé : avec le code N°3 ; obtiens-tu au moins l'affichage de ta msgbox ???

  9. #9
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 83
    Points : 40
    Points
    40
    Par défaut asainissement base mdb sous vb6
    Bonjour,
    Merci ucfoutu pour la rapidité de la réponse.
    effectivement le champs est de format date (jj/m/aaaa) et contient plusieurs dates et sont classées par ordre chronologique.
    ce que je veux c'est la dernière date c.a.d la plus grande valeur du champs date _consultation.
    merciiiiiiiiiiiiiii

  10. #10
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Citation Envoyé par ucfoutu Voir le message
    Ton problème est là :


    1) de quel type est ce champ, très exactement ?

    EDIT : une question subsidiaire (vu que tu ne nous en as pas parlé : avec le code N°3 ; obtiens-tu au moins l'affichage de ta msgbox ???
    et ces deux points ? (réponses essentielles !)

  11. #11
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 83
    Points : 40
    Points
    40
    Par défaut asainissement base mdb sous vb6
    Rebonjour,
    Le champs est de type texte.
    aucun message msgbox.
    merci

Discussions similaires

  1. VB6 + Base MDB = Erreurs 3260 intempestives
    Par MrBoo dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 28/05/2010, 08h55
  2. Date sous VB6.0 dans une base de donnée .mdb
    Par Bobshit dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 08/09/2009, 03h13
  3. base mdb avec password et vb6
    Par azzouz_soui dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/09/2008, 20h00
  4. Suppression d'un enregistrement d'une base Access sous vb6
    Par azzouz_soui dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 05/08/2008, 18h45
  5. comment réparer et compacter une base access sous vb6
    Par rallain dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/11/2006, 10h42

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