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

Requêtes et SQL. Discussion :

probleme code vba ne s'execute pas apres instruction sql


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut probleme code vba ne s'execute pas apres instruction sql
    bonjour,

    j'ai un probleme avec une fonction vba dans laquelle je lance des runsql
    la requete sql s'execute bien mais apres çà, il ne passe plus rien!
    le code restant dans la fonction n'est pas executé, alors que quand j'enleve la requete sql avant, il est executé

    y a t il un truc a faire genre sql.close apres une instruction sql pour que le code s'execute??

    merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Salut,
    Il y a peut-être une erreur qui fais que tu va à une autre partie de ton code. As tu mis en place une gestion des erreur (on error ...) ? As tu fais une execution pas à pas ?

    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut
    oui j'ai regardé pas à pas, je ne vois pas d'ou vient le probleme

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Montres ton code
    Amicalement

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut
    bonjour

    voici mon code

    Private Sub cmd_Aller_vers_Form2_Click()

    'Crée la table liste_semaines
    Creation_Table_Liste_Semaines

    DoCmd.Close
    DoCmd.OpenForm "Form2"
    End Sub

    et Creation_Table_Liste_Semaines est dans un module comme ceci :

    Function Creation_Table_Liste_Semaines()
    Dim i As Integer
    Dim sql_suppression, sql_ajout As String
    DoCmd.SetWarnings False

    'vide la table existante
    sql_suppression = "DELETE [Liste_Semaines].* FROM [Liste_Semaines];"
    DoCmd.RunSQL sql_suppression

    'ajoute les nouvelles données dans la table
    For i = 1 To Nb_semaines
    sql_ajout = "INSERT INTO [Liste_Semaines] (Semaine) VALUES ('S" & i & "');"
    DoCmd.RunSQL sql_ajout


    Next i
    End
    DoCmd.SetWarnings True
    DoCmd.Close


    End Function

    Nb_semaines étant une variable publique renseignée dans le Formulaire en cours (Form1)

    Donc voilà si je met Creation_Table_Liste_Semaines en commentaire, le code est executé (Form2 s'ouvre) mais si je le laisse, la table Liste_Semaines est bien créée en revanche le code s'arrete, Form2 ne s'ouvre pas...

  6. #6
    Membre confirmé Avatar de ypicot
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 412
    Points : 579
    Points
    579
    Par défaut
    Juste à l'oeil...

    Citation Envoyé par arnogef
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim sql_suppression, sql_ajout As String
    Au passage, sql_suppression est de type variant. Si tu veux un string :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim sql_suppression as string, sql_ajout As String
    Sinon, tu as 2 docmd.close. Il n'y en a pas un de trop ? Celui qui est dans Creation_Table_Liste_Semaines, par exemple...

    Accessment,

    Yvan
    Une solution n'est valable que dans un contexte donné

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut
    bonjour,

    le cmd.close de Creation_Table_Liste_Semaines, je ne l'avais pas mis au début, je l'ai rajouté parce que comme çà ne marchait pas sans, je me suis dit qu'il fallait peut etre le rajouter.
    là je l'ai enlevé et çà ne change rien

    sinon j'ai bien mis Dim sql_suppression as string, sql_ajout As String
    comme tu le conseilles mais là non plus pas de changement...

  8. #8
    Membre confirmé Avatar de ypicot
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 412
    Points : 579
    Points
    579
    Par défaut
    Il y a un END juste en bas de Creation_Table_Liste_Semaines
    Une solution n'est valable que dans un contexte donné

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut
    en effet quand j'enleve le END çà marche!
    je pensais qu'il fallait le mettre pour fermer la boucle for...

    merci bcp!

  10. #10
    Membre confirmé Avatar de ypicot
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 412
    Points : 579
    Points
    579
    Par défaut
    Ce qui ferme la boucle for, c'est le next.
    Le end arrête toutes les macros.

    Accessment,

    Yvan
    Une solution n'est valable que dans un contexte donné

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

Discussions similaires

  1. Code qui ne s'execute pas
    Par dan_marciano dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 27/06/2008, 18h56
  2. [MySQL] partie de code qui ne s'execute pas
    Par ayisse dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/07/2007, 17h40
  3. Le code vba ne s'exécute pas.
    Par Halima91 dans le forum VBA Access
    Réponses: 3
    Dernier message: 20/03/2007, 10h45
  4. [Mail] Les codes PHP ne s'executent pas
    Par Rajhonson dans le forum Langage
    Réponses: 4
    Dernier message: 28/11/2006, 13h40
  5. Probleme code vba
    Par alex38 dans le forum Access
    Réponses: 6
    Dernier message: 18/04/2006, 12h10

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