Traitement automatique

Résolu/Fermé
betacrack - Modifié par NHenry le 20/06/2015 à 15:13
kotor70 Messages postés 11 Date d'inscription lundi 2 mars 2015 Statut Membre Dernière intervention 14 janvier 2016 - 25 juin 2015 à 10:46
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

f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 659
Modifié par f894009 le 21/06/2015 à 14:45
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
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 659
22 juin 2015 à 08:14
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
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
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 659
22 juin 2015 à 14:23
Re,

Passez par les MP (message prive de CCM)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 659
23 juin 2015 à 17:28
Re,

les MP du CCM on ne peut pas joindre un fichier. Ah! que si
0
kotor70 Messages postés 11 Date d'inscription lundi 2 mars 2015 Statut Membre Dernière intervention 14 janvier 2016
24 juin 2015 à 09:42
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
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 659
24 juin 2015 à 10:30
Bonjour,

Vous voulez mettre a jour la table en fonction des tests ???
0
kotor70 Messages postés 11 Date d'inscription lundi 2 mars 2015 Statut Membre Dernière intervention 14 janvier 2016
24 juin 2015 à 11:32
Exact.
0
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 659
24 juin 2015 à 11:55
Re,

Ok, je regrde la chose

A+
0
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 659
24 juin 2015 à 14:08
Re,

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

fichier modifie avec structure de formulaire:

https://www.cjoint.com/c/EFymiBCqL4f
0
kotor70 Messages postés 11 Date d'inscription lundi 2 mars 2015 Statut Membre Dernière intervention 14 janvier 2016
25 juin 2015 à 10:46
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