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 :

open args ne me donne pas l'enregistrement souhaité


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 312
    Par défaut open args ne me donne pas l'enregistrement souhaité
    Bonsoir,

    J'ai lu bcp dans le FAQ et le F1 et sur internet, mais je n'arrive pas à faire fonctionner mon open args.

    Dans le formulier encodage commande, j'ouvre le formulaire modification produits si le codebarre n'est pas encore renseigné.

    Donc le code dans document commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Me.Codebarre_EAN_13 = "" Or IsNull(Me.Codebarre_EAN_13) Then
      DoCmd.OpenForm "frmProduitsChangeCode", acNormal, , , , , Me.CodeFournisseur.Value
      End If
    Et dans le document produits ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     If Not IsNull(Me.OpenArgs) Then
            strRecherche = Me.OpenArgs
            DoCmd.GoToControl "CodeFournisseur"
            DoCmd.FindRecord "strRecherche", , False, , True
        End If
    j'ai essayé avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.CodeFournisseur = Me.OpenArgs
    mais je reçoit une message erreur: impossible d'attribuer une valeur à cette opject.

    Quand j'écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'DoCmd.GoToControl "CodeFournisseur"
            Me.CodeFournisseur = Me.OpenArgs
    Le control CodeFournisseur prend bien la valeur passer par OpenArgs, mais il est toujours positionner dans le premier enregistrement, au lieu d'avoir ouvert la 48eme dans ce cas précis.

    J'ai essayé d'attribuer la valeur 48 à Me.IdProduits, mais également une erreur.

    Quelqu'un peux me mettre sur le chemin svp??

    Hans

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 312
    Par défaut
    finalement trouvé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    If Not IsNull(Me.OpenArgs) Then
            strRecherche = Me.OpenArgs
            strRecherche = Val(strRecherche)
            Dim RS As DAO.Recordset
            Set RS = Me.RecordsetClone
            RS.FindFirst "IdProduit = " & strRecherche
            If Not RS.NoMatch Then
                Me.Bookmark = RS.Bookmark
            End If
        End If
    Merci

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 148
    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 148
    Par défaut
    Bonjour,

    Plus simplement,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If Not IsNull(Me.OpenArgs) Then
            me.recordset.findfirst "IdProduit = " & strRecherche  
    endif
    ou encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      DoCmd.OpenForm "frmProduitsChangeCode", acNormal
      forms("frmProduitsChangeCode").recordset.findfirst "IdProduit = " & Me.CodeFournisseur.Value
    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

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 312
    Par défaut
    Merci pour ta reponse. Marche impec, sauf que j'ai le même problème que avec l'autre code (voir autre post).

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/02/2015, 15h59
  2. [MySQL-5.0] GROUP BY qui ne donne pas les derniers enregistrements
    Par laul33 dans le forum Requêtes
    Réponses: 5
    Dernier message: 08/03/2014, 16h05
  3. Script vba ne donne pas le resultat souhaité
    Par developpeur82 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/01/2013, 18h18
  4. Réponses: 22
    Dernier message: 17/07/2010, 21h05
  5. DataGridView données pas enregistrées dans le DATASET
    Par bossun dans le forum Windows Forms
    Réponses: 1
    Dernier message: 05/01/2009, 18h35

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