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 :

Transformation macro en VBA [AC-2016]


Sujet :

VBA Access

  1. #1
    Inactif  
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2019
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2019
    Messages : 114
    Points : 66
    Points
    66
    Par défaut Transformation macro en VBA
    Bonjour tout le monde ,

    Désolé pour le titre aguicheur mais je suis au bout du rouleau, tout ce casse la tronche dans ma base de donné, lorsque qu'un module fonctionne,
    Un autre ne fonctionne plus, et je coince même sur des chose basique comme relié un formulaire à un état !!

    Concernant le formulaire Access me redéfinie tout seule l'ordre des tabulations même après les avoirs modifiée manuellement, c'est assez fou !!!
    Savez-vous comment dire à Access dallez se faire F***** et qu'il me laisse choisir moi mème ?
    Du coup lorsque j'appuie sur imprimer ça me sort une feuille blanche étant donné que je n'ai pas validé ma ligne d’enregistrement relié à ma table.

    D'ailleurs concernant cela :

    Dans un formulaire si je remplie les champs et que j'appuie sur imprimer, je devrais avoir mon état alimenté par mon formulaire qui est lui même relié à ma table non ? ecce un paramètre à modifier pour que les champs que je remplie dans mon formulaire soit directement pris en compte ?
    hors la je suis obliger de remplir tous les champs de mon formulaire et mon état n'est alimenté que si je suis allez au bout de mon enregistrement en faisant touche entré.

    Normalement si dans le "champ1" je rentre une donné il sera pris en compte dans mon état non ? moi je doit passer au champs suivant pour que celui-ci apparaissent dans ma table & mon état.

    J'aimerais donc que les champs rensigner dans mon formulaire soit directement pris en compte pour l'impression de mon état, ce qui marchais très bien sur mon ancienne base et cela sans code VBA !

    Aussi j'aimerais une solution pour effectuer les actions suivantes sans avoir à quitter mon formulaire :

    1) imprimer mon état
    2) lancer une requête de suppression
    3) Actualiser mon formulaire pour faire disparaitre les mentions "supprimée" du à ma requête de suppression.

    Voici le code que j'utilise actuellement :

    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
    Private Sub Commande11_Click()
    If CheckBox_MFG = True Then
    response = MsgBox("Voulez vous imprimer les etiquettes de lots (16.3.20)", 4 + 32 + 0)
    If response = vbYes Then
    DoCmd.OpenQuery "alim2"
    DoCmd.OpenQuery "MAJ MFG_CB"
    DoCmd.RunMacro "imprim_cb", Nmbre
    DoCmd.RunMacro "imprim_mfg"
    Form.refresh
    End If
     
    Else
     
    DoCmd.OpenQuery "alim2"
    DoCmd.OpenQuery "MAJ MFG_CB"
    DoCmd.RunMacro "imprim_cb", Nmbre
    DoCmd.OpenQuery "raz"
    Form.refresh
    End If
    End Sub
    le Ne fonctionne pas du tout !!

    Je vous remercie d'avance pour vos retour !!

    Cordialement,

  2. #2
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Points : 6 583
    Points
    6 583
    Par défaut
    De mémoire d'éléphant cette histoire d'impression d'étiquettes date de juil.2019

    Le problème est que vous changez à chaque sollicitation le postulat. Une fois votre form est indépendant, une autre fois il est attaché à une source (tbl/req), une autre fois vous jouez avec des combobox, puis des textbox.

    C'est assez facile de critiquer une application. Mais dois-je rappeler que l'application ne fait qu'exécuter les instructions données par l'utilisateur devant l'écran.
    Access ne fait rien de son propre chef, notamment et entre-autre avec votre ordre de tabulation. Ce n'est pas parce que vous supprimez un objet pour le remplacer ensuite par un autre que l'ordre de tabulation est maintenu. Non, Access empile par le bas ou par le haut la liste des tabulations.

    Si vous voulez valider (enregistrer) les données saisies dans votre form avant l'exécution de votre Proc, placez Me.Refresh (et nom Form.Refresh) en L2/L14 et non pas en L9/L18.

    Si votre bdd actuelle ne vous donne pas satisfaction, reprenez l'ancienne qui a priori vous donnait satisfaction.

    Et il ne sert à rien d'ouvrir un nouveau sujet, alors qu'un autre sujet traitant du même problème est déjà ouvert.

    Peut-être devriez-vous passer au VBA, les syntaxes sont plus lisibles et plus visibles. Ce qui n'est pas le cas avec des DoCmd.OpenQuery ou DoCmd.RunMacro.

    Il semblerait que l'imprimante par défaut sur votre OS soit une imprimante pdf
    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
    Private Sub Commande11_Click()
    Dim compte As Integer, compte2 As Integer
     
    compte = DCount("*", "table_cb") * [Nmbre]
    compte2 = DCount("*", "table_cb")
     
    If "votre test logique" Then
        '... vos instructons
        DoCmd.OpenReport "Table1_CB", acViewPreview, , "[num_ligne] = " & Me![Modifiable30]
        DoCmd.PrintOut , , , , compte
        DoCmd.Close acReport, "Table1_CB"
        DoCmd.OpenReport "Etik_MFG", acViewPreview
        DoCmd.PrintOut , , , , compte2
        DoCmd.Close acReport, "Etik_MFG"
    Else
        '... vos instructions
        DoCmd.OpenReport "Table1_CB", acViewPreview, , "[num_ligne] = " & Me![Modifiable30]
        DoCmd.PrintOut , , , , compte
        DoCmd.Close acReport, "Table1_CB"
    End If
    End Sub

  3. #3
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 877
    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 877
    Points : 15 018
    Points
    15 018
    Par défaut
    bonjour,
    Citation Envoyé par Parigoo
    Concernant le formulaire Access me redéfinie tout seule l'ordre des tabulations même après les avoirs modifiée manuellement, c'est assez fou !!!
    Savez-vous comment dire à Access dallez se faire F***** et qu'il me laisse choisir moi mème ?
    je suis complètement d'accord avec la réflexion d'hyperion13:
    Citation Envoyé par hyperion13
    C'est assez facile de critiquer une application. Mais dois-je rappeler que l'application ne fait qu'exécuter les instructions données par l'utilisateur devant l'écran.
    il ne faut pas oublier qu'Access est un logiciel très documenté si on prend la peine d'appuyer sur F1 ou sur ? ou bien prendre le temps de lire l'intitulé des boutons du ruban:

    Nom : frm_ordredeTabulation.JPG
Affichages : 189
Taille : 62,2 Ko

    La fenêtre du bouton "Ordre de tabulation" permet d'ordonner les contrôles en les déplaçant avec la souris vers le haut ou vers le bas après l'avoir sélectionné (il est même possible d'en déplacer plusieurs à la fois).
    Sinon, il y a l'ordre automatique qui les classe de haut en bas et de gauche à droite selon leur position haute sur le formulaire.

    Mais c'est vrai que c'est plus facile de critiquer un logiciel qui refuse de faire ce qu'on souhaite même si c'est nous qui l'utilisons mal ...

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

Discussions similaires

  1. besoin d'aide pour macros ou VBA
    Par jmsor dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/02/2007, 19h41
  2. macro excel vba
    Par fildupa dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/12/2006, 22h29
  3. Demarrer une Macro/Appli VBA sans paser par les feruilles Excel
    Par size_one_1 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 08/12/2006, 22h23
  4. execute une macro via vba sous access
    Par nes dans le forum Access
    Réponses: 4
    Dernier message: 29/03/2006, 00h15
  5. Réaliser une macro en VBA pour excel afin de créer un graphe
    Par xavier le breuil dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/12/2005, 15h41

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