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 :

docmd.openForm avec une critère numériques [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 116
    Points : 89
    Points
    89
    Par défaut docmd.openForm avec une critère numériques
    Bonjour je bloque sur un problème de syntaxe je pense...

    J'ai un formulaire "PRODUITS" avec une lstbox.
    Quand je double clique dessus je veux ouvrir un formulaire "produit_modif" et je veux que dans le champs "REFPROD" du formulaire "produit_modif" j'affiche le numéro de de référence lié à la lstbox.
    Ensuite je souhaiterais éxecuter la commande distante "Form_produit_modif.cmb_nom_prod_AfterUpdate" (dans cette public sub, j'affiche tous les enregistrements lié à la "refprod"

    j'ai mis le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub Liste_stock_DblClick(Cancel As Integer)
        DoCmd.Minimize
        DoCmd.OpenForm "produit_modif", acNormal, , "[refpord] =" & Me.Liste_stock
        Form_produit_modif.cmb_nom_prod_AfterUpdate
        DoCmd.Close acForm, "produits"
    End Sub
    là ça fonctionne, me.liste_stock est bien égale au bon chiffre mais par contre dans le champ "refprod" de mon formulaire "produit_modif", la valeur n'est pas copiée, il affiche "Null"...

    Je ne comprend.
    J'ai un message d'erreur qui est
    Nom : Capture.PNG
Affichages : 374
Taille : 20,0 Ko

    le code de Form_produit_modif.cmb_nom_prod_AfterUpdate est:
    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
     
    Public Sub cmb_nom_prod_AfterUpdate()
    Dim qdf As DAO.QueryDef
    Dim rcs As DAO.Recordset
     
     
    Set qdf = CurrentDb.QueryDefs("R_produits")     'par rapport à la table produit
    qdf.Parameters("Critere") = Me.refpord
    Set rcs = qdf.OpenRecordset
     
    Me.RefProd = rcs!RefProd
    Me.txt_Nom_prod = rcs!NOM_prod
    Me.cmb_FAMILLE_prod = rcs!FAMILLE
    Me.txt_famille_prod = rcs!FAMILLE
    Me.txt_description = rcs!DESCR_prod
    Me.txt_stock_dispo = rcs!STOCK_Dipos_prod
    Me.txt_SEUIL_rapro = rcs!SEUIL_prod
    Me.txt_PRIX_unitaire = rcs!PRIX_prod
     
    Set qdf = Nothing
     
    'mettre à 1 le nombre stock à rentrer
    Me.txt_stock_rentré = 1
     
    Me.txt_stock_rentré.SetFocus
     
    'mettre à jour le message de seuil_bas
    message_seuil_bas
     
    End Sub

    je ne trouve pas le moyen pour que ça marche je pense que ça vient de "DoCmd.OpenForm "produit_modif", acNormal, , "[refpord] =" & Me.Liste_stock" qui ne copie pas mon chiffre dans le champ de mon autre formulaire.
    Quelqu'un peut m'aider?

    MErci

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 116
    Points : 89
    Points
    89
    Par défaut
    C'est bon j'ai trouvé la solution.
    Pour ceux que ça intérèsse...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub Liste_stock_DblClick(Cancel As Integer)
    'si le champ nom_prod est pas vide alors j'efface tous
        If Me.NOM_prod <> "" Then
            DoCmd.RunCommand acCmdUndo
        End If
     
        DoCmd.Minimize
        DoCmd.OpenForm "produit_modif"
            Forms![produit_modif]![RefProd] = Me.Liste_stock
        Form_produit_modif.cmb_nom_prod_AfterUpdate
        DoCmd.Close acForm, "produits"
    End Sub

  3. #3
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 133
    Points : 83 972
    Points
    83 972
    Billets dans le blog
    15
    Par défaut


    Merci pour le partage

    Cordialement
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/02/2015, 11h19
  2. Réponses: 4
    Dernier message: 14/04/2008, 11h00
  3. Docmd.openform avec plusieurs conditions
    Par Pwouaro dans le forum VBA Access
    Réponses: 8
    Dernier message: 21/02/2008, 09h55
  4. export docmd.OutputTo avec une condition Where
    Par pifou25 dans le forum VBA Access
    Réponses: 5
    Dernier message: 28/01/2008, 12h23
  5. Réponses: 10
    Dernier message: 30/11/2006, 23h06

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