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 :

Requete ajout avec attribution d'une valeur formulaire. [AC-2013]


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Requete ajout avec attribution d'une valeur formulaire.
    Bonjour,

    Je suis nouveau sur le forum, je bloque sur un problème :

    J'ai un formulaire de check-list qui me permet d'effectuer des contrôles qui est lié à une table [EI].

    Lorsque je clique sur un bouton je veux faire copier les enregistrements d'une table [CL Produits] (qui contient tout les types de contrôles pour tout les types de produits) vers ma table d'enregistrement des résultats des check-list [CL]

    Voici mon architecture :

    [EI] : N°EI (Lié à champ 1 de [CL]), Date, TypeProduit, ...

    [CL] : Champ1 (Qui est l'assignation à mon numéro de contrôle en cours dans mon formulaire) , ID, Categorie, CheckFR, CheckEN, Conforme, Non-Conforme, Commentaire

    [CL Produits] : ID, Produit, Catégorie, CheckFR, CheckEN

    J'ai testé une première requête ajout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO CL (Categorie, [Check FR], [Check EN] )
    SELECT [CL Produits].Categorie, [CL Produits].[Check FR], [CL Produits].[Check EN]
    FROM [CL Produits], CL;
    Mais il me manque deux contraintes :

    - Donner aux lignes collés sur Champ1 la valeur de mon formulaire actif [EI]![N°EI],
    - Ne copier que les lignes qui ont le même type de produit entre [EI]![Typedeproduit] et [CL Produits]![Produit]

    Help !

  2. #2
    Membre éprouvé
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Points : 1 166
    Points
    1 166
    Par défaut
    Bonjour,


    comme ça?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO CL (Champ1, Categorie, [Check FR], [Check EN] )
    SELECT [EI]![N°EI], [CL Produits].Categorie, [CL Produits].[Check FR], [CL Produits].[Check EN]
    FROM [CL Produits], CL
    WHERE [CL Produits]![Produit] = [EI]![Typedeproduit]
    Cordialement,

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup pour votre réponse.

    J'ai ajouté la requête SQL, et j'ai deux erreurs qui s'affichent :

    - Il ne reconnait pas : EI!N°EI et EI!Typedeproduit (Je les renseignes donc à la main)

    et ensuite

    - Aucun enregistrement ajouté (Alors que j'ai bien mes données dans ma table).


  4. #4
    Membre éprouvé
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Points : 1 166
    Points
    1 166
    Par défaut
    Oui, bien sur, car cette requête est en pseudo-code, c'est à dire qu'il faut l'adapter.

    Si c'est une requête que vous testez avec le concepteur graphique de requête, il faut utiliser l'outil générateur d'expression, pour aller chercher dans le formulaire la syntaxe complète permettant d'accéder aux différents champs du formulaire.

    Ça devrait ressembler à ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO CL (Champ1, Categorie, [Check FR], [Check EN] )
    SELECT form_LeFormulaire![N°EI], [CL Produits].Categorie, [CL Produits].[Check FR], [CL Produits].[Check EN]
    FROM [CL Produits] <<== Le CL est en trop, je l'ai supprimé!
    WHERE [CL Produits]![Produit] = form_LeFormulaire![Typedeproduit]
    Cordialement,

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Tout à fait je comprend.

    J'ai essayé d'enlever le filtrage du type de produit mais la requête ne copie aucune ligne. (J'ai bien rentré des données dans [CL Produits] afin qu'elles soient collées dans [CL] )

  6. #6
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Ca marche ! Désolé ( j'ai ajouter le nouveau code)

    Faut il que j'écrive le nom de mon formulaire entre [ ] pour le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT form_EI![N°EI],
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT form_[EI]![N°EI],

  7. #7
    Membre éprouvé
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Points : 1 166
    Points
    1 166
    Par défaut
    A priori, c'est uniquement le nom du champ qui doit être mis entre [].
    Pas le nom du formulaire.
    Utilisez le générateur d'expression, il vous donnera la syntaxe exacte.

    Cordialement,

  8. #8
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup pour votre aide !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO CL ( Champ1, Categorie, [Check FR], [Check EN] )
    SELECT forms!EI![N°EI] AS Expr1, [CL Produits].Categorie, [CL Produits].[Check FR], [CL Produits].[Check EN]
    FROM [CL Produits]
    WHERE ((([CL Produits]![Produit])=forms!EI![Typedeproduit]));
    Voici le code final, petite modification sur l'appel des champs de mon formulaire :

    SUJET RESOLU

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

Discussions similaires

  1. [Débutant] Appli avec attribution d'une valeur dans un label
    Par outofspace dans le forum Développement iOS
    Réponses: 3
    Dernier message: 16/09/2014, 22h54
  2. [XSD] Element avec un attribut et une valeur
    Par RamyBoulet dans le forum Valider
    Réponses: 1
    Dernier message: 01/09/2010, 10h11
  3. [XPath] recherche d'un node avec un attribut d'une valeur précise
    Par jerome.fortias dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 03/09/2007, 17h13
  4. Attribuer une requete sql avec 'like' en source de formulaire
    Par en_gel_ho dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 04/10/2006, 13h41
  5. passer une requete ajout avec des enregitrement null
    Par LesLemmings dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 13/06/2006, 15h20

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