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

VBA Access Discussion :

Problème Boucle IF


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut Problème Boucle IF
    Bonjour,
    Je voudrais faire une grande boucle avec plusieurs instructions dedans. Apparemement le code que j'ai fait ne fonctionne pas.
    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
    16
    17
    18
    19
    20
    If other <> " " Then
            SQL = "INSERT INTO Activités_caractéristiques (`Nom_activité_caractéristique`, `ID_activite`) VALUES " + _
                "( '" + other + "', '9')"
            DoCmd.SetWarnings False
            DoCmd.RunSQL SQL
            DoCmd.SetWarnings True
     
            Dim lngDerID As Long
            lngDerID = DMax("ID_act_cara", "Activités_caractéristiques")
     
            DoCmd.SetWarnings False
            DoCmd.RunSQL "INSERT INTO Liaison_pers_activ_cara (`identifiant`, `ID_act_cara`, `Nb heure`, `Semaine`, `Année`) VALUES " + _
                         "( '" + ident + "', '" + Str(lngDerID) + "', '" + Str(nb) + "', '" + Str(sem) + "', '" + Str(an) + "' )"
            DoCmd.SetWarnings True
        Else
            DoCmd.SetWarnings False
            DoCmd.RunSQL "INSERT INTO Liaison_pers_activ_cara (`identifiant`, `ID_act_cara`, `Nb heure`, `Semaine`, `Année`) VALUES " + _
                     "( '" + ident + "',  '28' , '" + Str(nb) + "', '" + Str(sem) + "', '" + Str(an) + "' )"
            DoCmd.SetWarnings True
        End If
    Merci de vos lumières

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 153
    Par défaut
    Salut,

    Pourrais-tu détailler un peu plus le problème (erreur obtenue, ligne.. etc)?
    De plus, je ne vois pas de boucle (boucle = while, for, do until)...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut
    Il n'y a aucune erreur d'exécution. Ce sue je veux faire c'est qu'après la condition If, si celle-ci est remplie, il effectue tout ce qui suit (et qui est incrémenté pour faciliter la lecture) sinon (Else) il effectue l'autre INSERT INTO.

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 153
    Par défaut
    Euh, oui, mais, quand tu dis que le code ne fonctionne pas, il se passe quoi?
    Aucun enregistrement n'est ajouté? Ou bien il n'y à que des enregistrement avec 28 dans la table Liaison_pers_activ_cara ?
    Ou autre chose?

    Autre chose, dans la table Liaison_pers_activ_cara, si tu as mis "identifiant" en NuméroAuto, il ne faut pas le spécifier dans la requète. Si tu en as besoin, refait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lngDerID = DMax("ID_act_cara", "Activités_caractéristiques")

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Par défaut
    If n'est pas une boucle mais une instruction de condition elle s'exécute ou pas mais ne fait pas de boucle !!!

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut Résolution
    Certes If n'est pas une boucle mais ce que je voulais dire par là c'est que plusieurs instructions devaient être effectuées si ma condition était VRAI!
    Apparement l'erreur venait de ma condition : j'avais mis <>" " pour différent d'un champ vide or il faut mettre <>"".
    De ce fait maintenant l'enregistrement dans la table fonctionne. Merci pour votre aide.

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

Discussions similaires

  1. Problème Boucle Do-While?!
    Par Julien_C++ dans le forum C++
    Réponses: 6
    Dernier message: 29/07/2006, 12h23
  2. [Débutant] Problème boucle for
    Par toniooooo dans le forum Langage
    Réponses: 10
    Dernier message: 18/04/2006, 14h42
  3. [XSL] problème boucle
    Par VolaiL dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 10/04/2006, 16h55
  4. Problème boucle while et evenement
    Par tse_tilky_moje_imja dans le forum Général Python
    Réponses: 2
    Dernier message: 30/03/2006, 18h11
  5. [FLASH 8] Problème Boucle For
    Par Begood dans le forum Flash
    Réponses: 6
    Dernier message: 21/03/2006, 11h36

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