Erreur code vba

Résolu
Bonjour,
j ai ecrit un code vba mais il me donne une erreur lors de l execution est ce que vous pouvvez maider a la corriger???
merci d avance
Configuration: Windows XP
Internet Explorer 7.0

43 réponses

Résumé de la discussion

Un code VBA génère une erreur d'exécution lors de son exécution, et le problème central est lié à la ligne Me.Requery dans une logique qui implique l'ouverture conditionnelle de formulaires. Des éléments de réponse essentiels indiquent que le souci est partiellement résolu mais qu'une erreur subsiste à la ligne Me.Requery, sans qu'une cause claire soit précisée. La discussion évoque aussi des approches liées à l'ouverture conditionnelle des formulaires (menu1, menu) selon le type d'utilisateur, et des tentatives d'authentification qui influent sur le flux. En complément, plusieurs contributions témoignent d'échanges hétérogènes et d'aspects hors sujet sans impact direct sur la résolution, mais la ligne problématique reste au cœur de cet échange et mérite une correction ciblée.

Bobot (l’IA à votre service)
  1. Très futile ton Post si tu nous donne pas les lignes de code VBA qui font l'erreur.

    Merci de nous expliquer les erreurs et ce que désire faire, enfin si tu veut de l'aide. Amicalement CIAnure
    1. voila mon code
      Private Sub Commande4_Click()

      Static i As Byte
      Dim bd As Database
      Dim rs As Recordset
      Set db = CurrentDb

      *****Set rs = bd.OpenRecordset("SELECT [LOGIN],[PASSWORD] FROM USER WHERE LOGIN = '" & Me.LOGIN & "' AND [PASSWORD]='" & Me.PASSWORD & "';")
      If Not rs.EOF Then
      DoCmd.OpenForm "menu", acNormal, , , , acWindowNormal
      DoCmd.Close acForm, "Formulaire1"
      Else
      MsgBox "(Identifiant, Mot de Passe) incorrect ", vbInformation, "Connexion"
      i = i + 1
      End If
      If i = 3 Then
      MsgBox "Vous avez dépassé le nombre de tentatives autorisés", vbCritical
      DoCmd.Quit
      End If
      Me.Requery
      End Sub
      l erreure se trouve ou il y a des *****
      ce code sert a securiser une bdd (login et mot de passe)
      si tu vex plus d informations pas de prb
      1. Set db = CurrentDb

        *****Set rs = bd.OpenRecordset("SELECT [LOGIN],[PASSWORD] FROM USER WHERE LOGIN = '" &


        Tu déclare ta base sous le nom db lors du Set db = CurrentDb

        Donc après tu dois le garder aussi et pas mettre bd.OpenRecordset(....

        ou mettre CurrentDb.OpenRecordset(.... et pas déclaré la variable bd et db

        Je pense que c'est une erreur d'inattention, c'est normal en programmation. (fait des pauses pour relaxé ton esprit)

        Bonne chance, Amicalement CIAnure
    2. le priblema est partiellement réglé mais il ya ncore une erreur das la ligne
      Me.Requery
      merci
      1. Si tu veux des exemples de ce que tu viens de faire, envoyer moi une adresse mail , je vais t'envoyer des doc et exemple.
        Bonne chance
        1. ok je t ai deja envoyé mon adresse dans le forum programmation
          1. Pourquoi veut-tu mettre Me.requery ?
            Qu'est ce que tu veut que ça fasse? Explique car Me.requery fait rien c'est logique mais sans la connaissance de ton besoin je peut pas savoir ton but. Merci, Amicalement CIAnure
          2. @CIAnureslt merci bien ca a marché mais est ce que tu peux m aider pour modifier ce code afin de repondre au besoin(selon le type de l utilisateur)
            merci une autre fois
        2. Meziane!!!!
          1. et oui mais ca sera meziane bezaf si j ai fais ce que je t ai demandé
        3. Tu m'a demander qoui? si tu veut des exemples de programmes complet envoyer moi un mail
          1. si le type =administrateur le formulaire "menu"se lance si le type= "limité" le formulaire menu1 se lance
            1. Private Sub CmdAnnuler_Click()
              End
              End Sub

              Private Sub CmdEntrer_Click()
              If TxtMatric = "" Then
              MsgBox "Saisir un utilisateur ! ", vbExclamation, " Prolème Connexion"
              Else
              DtaUtilisateur.Refresh
              DtaUtilisateur.Recordset.Find "Matric ='" & TxtMatric.Text & "'"
              If DtaUtilisateur.Recordset.EOF Then
              MsgBox "utilisateur non autorisé ! ", vbCritical, " Prolème Connexion"
              DtaUtilisateur.Recordset.MoveFirst
              Else
              If DtaUtilisateur.Recordset!MotDePasse = TxtMotDePasse Then
              If TxtCNewMotDePasse.Text <> TxtNewMotDePasse.Text Then
              MsgBox "confirmation du mot de passe incorrecte ! ", vbExclamation, " Prolème Connexion"
              TxtCNewMotDePasse.Text = ""
              TxtCNewMotDePasse.SetFocus
              Else
              MsgBox " Connection réussie ", , "Connexion"
              DtaUtilisateur.Recordset!MotDePasse = TxtNewMotDePasse.Text
              If TxtNewMotDePasse.Text <> "" Then
              DtaUtilisateur.Recordset.Update
              End If
              FrmSign.Hide
              FrmMenuGeneral.Show
              FrmMenuGeneral.LMatric = DtaUtilisateur.Recordset!Matric
              End If
              Else
              MsgBox "utilisateur ou mot de passe incorrect ! ", vbExclamation, " Prolème Connexion"
              TxtNewMotDePasse.Text = ""
              TxtCNewMotDePasse.Text = ""

              End If
              End If
              End If
              End Sub
              1. Sifte lia mail dialek oulla chi mail temporaire malek mafik ti9a
                1. sanaa_02_05 hotmail.com
                  tu etudie koi amine
              2. men sba7 o ana kansefto lik o makaybriwch les messages imchiw wellah
                1. Bonjour,

                  J'ai remarqué que tu utilisais plusieurs pseudos sur le site commentcamarche.net

                  Pourrais-tu arrêter cela car sinon je serais obliger de bloquer tes différents comptes.

                  Merci
                2. @sanaeMerci beaucoup car si tout le monde faisait cela on ne s'en sortirait pas
              3. Je travaille je suis ingénieur, je vais t'envoyer beacoups d'exemples ce soir. tu vas les retrouvez demains dans ta boite ok.

                Tu est étudiante toi?
                1. oui moi je suis etudiante en premiére annés bts genie informatique
              4. C'est le nom d'une table au niveau de la base . Tu va retrouver tous l'exemple dans ta boite demain y compris la base
                1. tu peux pas m aider mnt a modifier dans ce code par ce que j pas bien compris
                  stp c urgent
                  1. Malheuresement daba non car j'ai tous ça à la maison je vais faire mon possible dés que quitte mon travail à 16:30h. je vais t'envoyer ça vers 17:00h ok.
                    1. laisse cela pour demain
                  2. D'accord je vais faire de mon mieux, A tu un numéro de tél si cela te dérrange pas bien sûr. ja vais essayer de te rappeller dés l'envoi des exemples
                    1. ok merci mon num je te le donerai si tu peux te connecter mnt a msn pcq je px pas te le donner dans le forum ca va etre diffusé
                      tu me comprend??
                      1. slt j ai recu les document merci
                        mais moi je travaille avec vba dans access 2003 on est débutantes en vba si on peux te donner des informations sur la base de données et tu nous aide a réaliser le code (si tu maitrise vba)
                        merci
                        • 1
                        • 2
                        • 3