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

Runtime Discussion :

Créer un fichier EXE à partir d'un fichier ACCDB [AC-2013]


Sujet :

Runtime

  1. #21
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour les demi-retraités
    1)
    J'ai remplacé la ligne Dim rs as object par Dim rs as Dao.recordset comme proposé

    mais le problème reste le même : Found --- >Variable non définie
    C'est 2 choses n'ont rien à voir ensemble.
    Variable non définie est un message très explicite, cela indique que cette variable (Found) n'est pas déclarée (par l'instruction Dim Found as ....). Rien à voir avec rs donc.

    2)
    J'ai essayé Dim Found as Variant : ça fonctionne sauf qu'on ne trouve plus l'enregistrement recherché comme avant.
    Je doute que la cause soit cette déclaration. Par contre via le jeu des portées (cf les tutos) il est possible que la déclaration ne soit pas au bon endroit.

    3)
    Si Found accueille un bookmark alors autant utiliser la bonne déclaration (AU BON ENDROIT).

    Conclusion :
    Il me semble que tu ne comprends pas ce que tu manipules et que tu mets en place.
    Je te conseille vivement cette lecture avant de poursuivre. Sans cela autant laisser tout dans l'état.

    http://heureuxoli.developpez.com/off...rd/vba-all/#L5

    http://mhubiche.developpez.com/Access/variables/

    et enfin compléter par ceci :

    http://silkyroad.developpez.com/VBA/LesVariables/

    Ces 3 tutos sont obligatoires.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  2. #22
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonjour loufab,
    Si Found accueille un bookmark alors autant utiliser la bonne déclaration (AU BON ENDROIT).
    Je réponds un peu à coté quelques fois... AU BON ENDROIT, et à TOUS LES ENDROITS où c'est utilisé, bien sûr, et Dim Found As Bookmark, oui évidement, je n'avais pas percuté vu l'heure tardive et mon grand âge ... de retraité quasi, oui, mais pas à demi
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #23
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Pas grave Tee, moi même en pleine journée ça m'arrive

    "au bon endroit" en majuscule car vu les symptômes et le code posté, je pense que le problème doit être de cet ordre.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  4. #24
    Membre régulier Avatar de jajoju
    Homme Profil pro
    Semi retraité
    Inscrit en
    Novembre 2016
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Semi retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 169
    Points : 98
    Points
    98
    Par défaut OPtion Explicit
    je conseillerai à jajoju de laisser Option Explicit
    Merci tee_grandbois

    J'ai laissé Option Explicit et j'ai conservé FOUND as Variant ... ce qui semble fonctionner maintenant
    Je me suis rendu compte qu'on ne peut pas déclarer une variable ( ex. : Dim description_temp as String ) à l'intérieur d'une procédure Description_Temp_AfterUpdate()
    Je ai déclaré Dim description_temp as String dans Private Sub Form_Current() mais c'est inutile puisque c'est une procédure Private
    Alors je n'ai pas déclaré la variable description_temp ( i.e formulaire Rechercher NOM )
    En ce qui concerne la plupart des autres formulaires , je n'ai qu'une variable à dimensionner pour chacun. Alors j'ajouterai Option Explicit à chacun
    Pour le formulaire "Edition" , pourriez-vous me guider pour les " items " de trop

    Merci

  5. #25
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonjour jajoju
    les contrôles Code_temp et Commande124 n'existent pas dans le formulaire Edition, donc ce code est à enlever :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Private Sub Code_Temp_AfterUpdate()
     
    Code_Temp = UCase(Code_Temp)
        strcode_temp = "GC" & Me.Code_Temp
        Dim rs As Object
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[Référence] like " & Chr(34) & strcode_temp & Chr(34)
        If rs.NoMatch Then
            Found = Null
            MsgBox ("Fiche # ") & strcode_temp & (" inexistante !")
            Code_Temp = Null
            Exit Sub
        Else
            Found = rs.Bookmark
            Me.Bookmark = rs.Bookmark
        End If
     
    End Sub
     
    Private Sub Code_Temp_Enter()
     
           Me.AllowEdits = True
     
    End Sub
     
    Private Sub Code_Temp_Exit(Cancel As Integer)
     
             Me.AllowEdits = False
     
    End Sub
     
    Private Sub Commande124_Click()
     
           Code_Temp.Visible = True
     
           Code_Temp.SetFocus
     
    End Sub
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  6. #26
    Membre régulier Avatar de jajoju
    Homme Profil pro
    Semi retraité
    Inscrit en
    Novembre 2016
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Semi retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 169
    Points : 98
    Points
    98
    Par défaut
    Bonjour,
    les contrôles Code_temp et Commande124 n'existent pas
    Et bien oui, ces lignes n'étaient pas décelées en exécutant le formulaire ( pas d'erreur ).
    Ce sont des lignes qui font parties d'un autre formulaire qui se sont faufilées à un moment donné sans que je m'en rende compte.
    Pourtant ça fonctionnait quand même
    Parfois, des procédures apparaissent sans qu'on ait voulu les mettre ... comme Commande 124
    Par contre, en ajoutant Option Explicit la ligne strcode_temp = null ne fonctionne pas ... et je l'ai éliminée
    parce qu'elle a été déclarée as String.
    Tous mes formulaires sont maintenant en Option Explicit sans que ça bogue.
    Tantôt je disais par erreur qu'il ne faut pas dimensionner une variable après sa MAJ , ... je m'étais trompé !
    Il me reste 7 chapitres à lire dans mon livre ... ... je poursuis ... faut pas lâcher.
    Probablement que dans 5 ans , je serai de votre niveau ... moi qui a une cinquantaine d'heures d'expérience...
    Merci

  7. #27
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Ce sont des lignes qui font parties d'un autre formulaire qui se sont faufilées à un moment donné sans que je m'en rende compte.
    Quand on duplique un formulaire pour un créer un nouveau, on duplique aussi le code. Si on supprime un contrôle, le code associé n'est pas supprimé automatiquement. Il faut donc penser à le faire manuellement.
    Pourtant ça fonctionnait quand même
    Cela n'empêche pas le fonctionnement, mais cela pollue inutilement le code et, de plus, des erreurs de compilation sont apparues, donc cela prouve qu'il fallait le supprimer.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  8. #28
    Membre régulier Avatar de jajoju
    Homme Profil pro
    Semi retraité
    Inscrit en
    Novembre 2016
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Semi retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 169
    Points : 98
    Points
    98
    Par défaut Option Explicit
    Bonjour,
    des erreurs de compilation sont apparues, donc cela prouve qu'il fallait le supprimer.
    La seule erreur qui stoppait l'exécution se situait au niveau strcode_temp = null que j'ai remédié... Ensuite ça allait bien.

    Jamais je me suis aperçu de la procédure inutile en trop. Est-ce qu'il y a une autre méthode pour compiler ?

    Pour clore la discussion, quand on déclare un formulaire Option Explicit et qu'aucune erreur n'est décelée au cours de

    l'exécution , peut-on considérer que toutes les variables ont été déclarées et que le formulaire est "viable" ?

    Merci

  9. #29
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Pour clore la discussion, quand on déclare un formulaire Option Explicit et qu'aucune erreur n'est décelée au cours de

    l'exécution , peut-on considérer que toutes les variables ont été déclarées et que le formulaire est "viable" ?
    C'est un peu plus compliquer que cela.

    1) tu auras la certitude que tout est déclaré au moment de la compilation.
    2) ce n'est pas pour cela que tu n'auras pas des problèmes en route. Surtout avec les règles problèmes de portée et de typage.

    L'erreur pourra être levée pendant l'exécution, de manière aléatoire. Tu pourras également n'avoir aucune erreur (message) mais ne pas obtenir le résultat escompté. Bref ! pour valider un formulaire il n'y a que la campagne de test qui pourra réduire les risques, mais pas totalement, puisque la saisie de l'utilisateur peut influer dessus aussi.

    Pas simple le métier de concepteur/développeur.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  10. #30
    Membre régulier Avatar de jajoju
    Homme Profil pro
    Semi retraité
    Inscrit en
    Novembre 2016
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Semi retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 169
    Points : 98
    Points
    98
    Par défaut Compilation
    1) tu auras la certitude que tout est déclaré au moment de la compilation.
    Une question qui peut paraître superflus ou une évidence:

    Quand on dit compilation ....c'est Exécution ? Débogage ? ou les 2 compilent ?
    Autement dit , quand on exécute est-ce qu'on compile ?
    Je vois pas la nuance , c'est pas 100% clair ( juste 80% disons )...
    Merci

    Nom : 2017-02-07_101229.jpg
Affichages : 158
Taille : 24,2 Ko

  11. #31
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonsoir,
    C'est Débogage/ Compiler (+ le nom du projet) si ce n'est pas grisé. Si c'est le cas, c'est que cela a été compilé et le restera tant qu'il n'y aura pas eu de nouvelle modification du code.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  12. #32
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    J'ajouterais que la compilation peut être automatique ou manuelle. Normalement c'est réglé en automatique dans les Options VBE.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  13. #33
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonjour loufab,
    et bien moi, en 20 ans d'Access je n'y ai jamais touché, je ne savais même pas que c'était là :

    Pièce jointe 242536
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  14. #34
    Membre régulier Avatar de jajoju
    Homme Profil pro
    Semi retraité
    Inscrit en
    Novembre 2016
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Semi retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 169
    Points : 98
    Points
    98
    Par défaut Option Explicit
    Bonjour

    Si tee_grandbois ignorait une chose en 20 ans , de mon côté je dois en ignorer plus qu'une

    J'envie tee_grandbois pour ces 20 ans d'expérience ... moi qui en a une cinquantaine d'heures.

    Etant nouveau retraité moi aussi , j'espère y mettre plus de temps mais 20 ans m'amènerait plutôt loin

    Ah oui, j'oubliais ...

    Est-il nécessaire de déclarer une variable quand au départ elle a une valeur dans une ligne ??

    Exemple : VariableX = 5 ... Est-il nécessaire de déclarer Dim VariableX as Byte ??

    En tout cas , quand je compile , on n'affiche pas d'erreur.

    Merci

  15. #35
    Membre régulier Avatar de jajoju
    Homme Profil pro
    Semi retraité
    Inscrit en
    Novembre 2016
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Semi retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 169
    Points : 98
    Points
    98
    Par défaut Option Explicit
    Bonjour,

    Maintenant que je déclare tous mes formulaires en Option Explicit , je peux maintenant enregistrer mon fichier en ACCDE

    Il m'était impossible de le faire auparavant.


    Merci

  16. #36
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir jajoju,
    ch'uis pô encore retraité, j'ai encore quelques mois à tirer ....
    Maintenant que je déclare tous mes formulaires en Option Explicit , je peux maintenant enregistrer mon fichier en ACCDE
    je dirais que c'est plutôt parce qu'il n'y a plus d'erreurs de compilation.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  17. #37
    Membre régulier Avatar de jajoju
    Homme Profil pro
    Semi retraité
    Inscrit en
    Novembre 2016
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Semi retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 169
    Points : 98
    Points
    98
    Par défaut Option Retraite Explicit
    Bonjour

    L'hiver est plus difficile ici au Canada pour un retraité ... Quand il fait -25 C ou quand il tombe un 15 cm de neige dans une journée,
    ça nous tente moins de sortir dehors pour une marche de santé. Mais ça ne dure que 4 mois ...
    ... et les pneus à crampons sont obligatoires ici en hiver sinon c'est une contravention de 100 Euros ...

    A ma question ,
    Est-il nécessaire de déclarer une variable quand au départ, elle a une valeur dans une ligne ??
    Exemple : VariableX = 5 ... Est-il nécessaire de déclarer Dim VariableX as Byte ??
    Puis-je passer par dessus la déclaration même si ça compile ?

    Merci

  18. #38
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Puis-je passer par dessus la déclaration même si ça compile ?
    je ne vois pas quelle économie serait faite à ne pas déclarer. En général, on commence le code par les déclarations de variable, un peu comme la liste des ingrédients d'une recette ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  19. #39
    Membre régulier Avatar de jajoju
    Homme Profil pro
    Semi retraité
    Inscrit en
    Novembre 2016
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Semi retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 169
    Points : 98
    Points
    98
    Par défaut Déclare
    je ne vois pas quelle économie serait faite à ne pas déclarer.
    ... C'est pas comme l'impôt , quand on déclare c'est pas toujours pour des économie

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/06/2008, 16h51
  2. Créer un divx a partir de plusieurs fichiers avi
    Par Vascogil dans le forum Vidéo
    Réponses: 1
    Dernier message: 17/12/2007, 23h45
  3. Réponses: 3
    Dernier message: 04/04/2007, 14h45
  4. Réponses: 6
    Dernier message: 22/03/2007, 10h38
  5. Créer un graph Excel à partir d'un fichier
    Par kult dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/11/2005, 14h06

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