Traitement automatique

Résolu
betacrack -  
kotor70 Messages postés 11 Statut Membre -
Bonjour,

Voila mon code ci-dessous.
Private Sub Commande17_Click()
Dim Num_PDV As Integer
Num_PDV = 1
While Num_PDV <= 500

If mid([Nom_PDV], 1, 20) = "SKY BUSINESS KQ KATI" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KATI DI" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ BANC" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ BOUG" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ GRAN" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ KANG" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ LAFI" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ SEBE" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ SOTU" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ TITI" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSNESS KQ DIALA" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSNESS KQ DJALA" Then Me.Zone = "BAMAKO" Else
If mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ KAYE" Then Me.Zone = "KAYES" Else
If mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KITA BO" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ KIT" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ KITA" Then Me.Zone = "KITA" Else
If (mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ DIEM") Then Me.Zone = "DIEMA" Else
If mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ MACI" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ MARK" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ NION" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ SEGO" Then Me.Zone = "SEGOU-NIONO-MACINA" Else
If mid(Me.Nom_PDV, 1, 23) = "SKY BUSINESS KIOSQUE KA" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ KADI" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ NION" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ SIKA" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS KQ ZEGO" Or mid(Me.Nom_PDV, 1, 20) = "SKY BUSINESS SIKASSO" Or mid(Me.Nom_PDV, 1, 23) = "SKY BUSNESS KIOSQUE KAD" Or mid(Me.Nom_PDV, 1, 20) = "SKYB KQ KADIOLO SKY " Then Me.Zone = "SIKASSO-KADIOLO"
Num_PDV = Num_PDV + 1
Wend

End Sub


je veux qu'en cliquant sur le bouton que le traitement soit fait automatique pour chaque enregistrement testé de la table.
Mon code ci-haut fait le traitement mais pas automatique. Car il faut avancer enregistrement par enregistrement ensuite cliquez sur le bouton pour que le traitement soit fait. alors que j'ai 500 enregistrement dans ma table à parcourir .tres penible de l'aide!!!!!!

EDIT: Ajout de la coloration syntaxique.

10 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    bonjour,

    adaptez le nom de la table pour la requete SQL

    Private Sub Commande17_Click()
    Dim Txt As String, Db As Database, rs As recorset, SQL As String
    
    Set Db = CurrentDb
    SQL = "SELECT * FROM MA_TABLE"
    Set rs = Db.OpenRecordset(SQL, dbOpenDynaset, dbReadOnly)
    If Not rs.EOF And rs.BOF Then
        Do While Not rs.EOF
            Txt = Mid([Nom_PDV], 1, 23)     'recuperation partie de champ !!!!!!!!
            If Txt = "SKY BUSINESS KQ KATI" Or Txt = "SKY BUSINESS KATI DI" Or Txt = "SKY BUSINESS KQ BANC" Or Txt = "SKY BUSINESS KQ BOUG" Or _
               Txt = "SKY BUSINESS KQ GRAN" Or Txt = "SKY BUSINESS KQ KANG" Or Txt = "SKY BUSINESS KQ LAFI" Or Txt = "SKY BUSINESS KQ SEBE" Or _
               Txt = "SKY BUSINESS KQ SOTU" Or Txt = "SKY BUSINESS KQ TITI" Or Txt = "SKY BUSNESS KQ DIALA" Or Txt = "SKY BUSNESS KQ DJALA" Then
                Me.Zone = "BAMAKO"
            ElseIf Txt = "SKY BUSINESS KQ KAYE" Then
                Me.Zone = "KAYES"
            ElseIf Txt = "SKY BUSINESS KITA BO" Or Txt = "SKY BUSINESS KQ KIT" Or Txt = "SKY BUSINESS KQ KITA" Then
                Me.Zone = "KITA"
            ElseIf (Txt = "SKY BUSINESS KQ DIEM") Then
                Me.Zone = "DIEMA"
            ElseIf Txt = "SKY BUSINESS KQ MACI" Or Txt = "SKY BUSINESS KQ MARK" Or Txt = "SKY BUSINESS KQ NION" Or Txt = "SKY BUSINESS KQ SEGO" Then
                Me.Zone = "SEGOU-NIONO-MACINA"
            ElseIf Txt = "SKY BUSINESS KIOSQUE KA" Or Txt = "SKY BUSINESS KQ KADI" Or Txt = "SKY BUSINESS KQ NION" Or Txt = "SKY BUSINESS KQ SIKA" Or _
                        Txt = "SKY BUSINESS KQ ZEGO" Or Txt = "SKY BUSINESS SIKASSO" Or _
                        Txt = "SKY BUSNESS KIOSQUE KAD" Or Txt = "SKYB KQ KADIOLO SKY " Then
                Me.Zone = "SIKASSO-KADIOLO"
            End If
        Loop
        Set rs = Nothing
        Db.Close
        Set Db = Nothing
    End Sub
    0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    j'avais oublie quelques details. Mais je ne comprends pas comment vous avez fait votre formulaire, parce que normalement, vous ne devriez pas avoir besoin de bouton pour faire cette actulisation de champ formulaire

    Option Compare Database
    
    Sub Commande17_Click()
    Dim Txt As String, Db As Database, rs As recorset, SQL As String
    
    Set Db = CurrentDb
    SQL = "SELECT * FROM MA_TABLE"
    Set rs = Db.OpenRecordset(SQL, dbOpenDynaset, dbReadOnly)
    If Not rs.EOF And rs.BOF Then
        Do While Not rs.EOF
            Txt = Mid(rs.Fields("Nom_PDV"), 1, 23)     'recuperation partie de champ !!!!!!!!
            If Txt = "SKY BUSINESS KQ KATI" Or Txt = "SKY BUSINESS KATI DI" Or Txt = "SKY BUSINESS KQ BANC" Or Txt = "SKY BUSINESS KQ BOUG" Or _
               Txt = "SKY BUSINESS KQ GRAN" Or Txt = "SKY BUSINESS KQ KANG" Or Txt = "SKY BUSINESS KQ LAFI" Or Txt = "SKY BUSINESS KQ SEBE" Or _
               Txt = "SKY BUSINESS KQ SOTU" Or Txt = "SKY BUSINESS KQ TITI" Or Txt = "SKY BUSNESS KQ DIALA" Or Txt = "SKY BUSNESS KQ DJALA" Then
                Me.Zone = "BAMAKO"
                x = x
            ElseIf Txt = "SKY BUSINESS KQ KAYE" Then
                Me.Zone = "KAYES"
            ElseIf Txt = "SKY BUSINESS KITA BO" Or Txt = "SKY BUSINESS KQ KIT" Or Txt = "SKY BUSINESS KQ KITA" Then
                Me.Zone = "KITA"
            ElseIf (Txt = "SKY BUSINESS KQ DIEM") Then
                Me.Zone = "DIEMA"
            ElseIf Txt = "SKY BUSINESS KQ MACI" Or Txt = "SKY BUSINESS KQ MARK" Or Txt = "SKY BUSINESS KQ NION" Or Txt = "SKY BUSINESS KQ SEGO" Then
                Me.Zone = "SEGOU-NIONO-MACINA"
            ElseIf Txt = "SKY BUSINESS KIOSQUE KA" Or Txt = "SKY BUSINESS KQ KADI" Or Txt = "SKY BUSINESS KQ NION" Or Txt = "SKY BUSINESS KQ SIKA" Or _
                        Txt = "SKY BUSINESS KQ ZEGO" Or Txt = "SKY BUSINESS SIKASSO" Or _
                        Txt = "SKY BUSNESS KIOSQUE KAD" Or Txt = "SKYB KQ KADIOLO SKY " Then
                Me.Zone = "SIKASSO-KADIOLO"
            End If
            rs.MoveNext
        Loop
        Set rs = Nothing
        Db.Close
        Set Db = Nothing
    End Sub
    0
  3. betacrack
     
    Bonjour F894009,
    Je vais testé le code avec le detail : rs.MoveNext et vous revenir. J'avais testé le code sans " rs.MoveNext" mais rien ne passe. puis-je avoir votre email pour vous envoyer la base afin de voir le formulaire utilisé.
    Cordialement,
    0
  4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Passez par les MP (message prive de CCM)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. betacrack
     
    Bonjour F894009,
    J'ai testé le code envoyé par vos soins. En cliquant sur le bouton le traitement désiré n'est pas effectué alors qu'il n'y a pas d'erreur dans le code.
    Merci de me dire comment vous envoyer la base car dans les MP du CCM on ne peut pas joindre un fichier.
    Cordialement,
    betacrack
    0
  7. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    les MP du CCM on ne peut pas joindre un fichier. Ah! que si
    0
  8. kotor70 Messages postés 11 Statut Membre
     
    Bonjour F894009,
    Merci de recevoir le lien de téléchargement ci-dessous de ma base pour analyse:
    https://www.cjoint.com/c/EFyhMzdKdJI
    NB: la base est en access2003
    Cordialement,
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      Vous voulez mettre a jour la table en fonction des tests ???
      0
  9. kotor70 Messages postés 11 Statut Membre
     
    Exact.
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      Ok, je regrde la chose

      A+
      0
  10. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    SKY BUSINESS KQ NION est sur deux tests !!!!!!

    fichier modifie avec structure de formulaire:

    https://www.cjoint.com/c/EFymiBCqL4f
    0
  11. kotor70 Messages postés 11 Statut Membre
     
    Bonjour mon ami,
    Je tiens vraiment à vous remercier car vous m'avez enlevé des épines sous le pied. Le traitement est bon .
    Vive le forum CCM.
    Cordialement,
    0