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

Access Discussion :

Formulaire facturation recherche produit


Sujet :

Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Février 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2014
    Messages : 18
    Points : 9
    Points
    9
    Par défaut Formulaire facturation recherche produit
    Bonjour,

    Je dois concevoir un formulaire qui sert à créer des factures. J'ai une table CLIENTS, une table PRODUITS et une table FACTURES. Dans le formulaire "factures" selon le numéro de client le programme inscrit les coordonnées du client (nom, adresse...) et cela fonctionne bien.

    Ensuite, je dois utiliser la table PRODUITS afin de rechercher les informations sur l'Item (le produit) recherché (vendu). Je dois entrer un numéro de produit (NoItem1, NoItem2...) et lorsque le programme trouve ce numéro de produit il inscrit la description de ce produit ainsi que le prix vendu.
    Mais lorsque j'entre un numéro d'Item voici ce que le système me dit: "Trop peu de paramètres 1 attendu !" De plus, lorsque je n'entre aucun numéro d'item le programme n'en tient pas compte.
    Je ne comprend plus rien. Si quelqu'un peut m'aider j'apprécierais beaucoup.

    Voici mon code:

    Code VBA : 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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    Private Sub NoClient_AfterUpdate()
       On Error GoTo NoClient_Err
        'Déclaration des variables
        Dim db As DAO.Database
        Dim rst As DAO.Recordset
        Dim strSQL As String
        'Si le numéro de client est inscrit
        If Me.NoClient > "" Then
           'On crée le record pour aller chercher l'adresse selon le numéro du client
            Set db = CurrentDb
            strSQL = "SELECT CLIENTS.NoClient, NomEntreprise, AdresseFacture, VilleFacture, CodeFacture, Province FROM CLIENTS " _
            & "WHERE CLIENTS.NoClient = " & Me.NoClient & ";"
            Set rst = db.OpenRecordset(strSQL)
            'Si le numéro de client correspond à une adresse
            If rst.EOF = False Then
                Me.Adresse = rst("AdresseFacture")
                Me.Ville = rst("VilleFacture")
                Me.CP = rst("CodeFacture")
                Me.NomClient = rst("NomEntreprise")
                Me.Province = rst("Province")
            'Si le numéro de client n'est pas dans la base de données
            Else
               MsgBox "Ce numéro de client n'existe pas!"
            End If
            'On libère la mémoire
            rst.Close
            Set rst = Nothing
            Set db = Nothing
            Else
            End If
    Exit_NoClient_AfterUpdate:
    Exit Sub
    NoClient_Err:
    MsgBox Err.Description
    Resume Exit_NoClient_AfterUpdate
    End Sub
    Private Sub NoItem1_AfterUpdate()
    On Error GoTo NoItem1_Err
        'Déclaration des variables
        Dim db As DAO.Database
        Dim rst As DAO.Recordset
        Dim strSQL As String
        'Si le numéro de produit est inscrit
        If Me.NoItem1 > "" Then
           'On crée le record pour aller chercher la description et le prix vendant du produit
            Set db = CurrentDb
            strSQL = "SELECT PRODUITS.CodeProFour, Description, PrixVendant, PrixUnite, PrixKilo FROM PRODUITS " _
            & "WHERE PRODUITS.CodeProFour = " & Me.NoItem1 & ";"
            Set rst = db.OpenRecordset(strSQL)
            'Si le numéro d'Item correspond au Code de Produit Founisseur
            If rst.EOF = False Then
                Me.Des1 = rst("Description")
                Me.Prix1 = rst("PrixUnite")
            'Si le numéro d'Item n'est pas dans la base de données
            Else
               MsgBox "Ce numéro de produit n'existe pas!"
            End If
            'On libère la mémoire
            rst.Close
            Set rst = Nothing
            Set db = Nothing
            Else
            End If
    Exit_NoItem1_AfterUpdate:
        Exit Sub
    NoItem1_Err:
        MsgBox Err.Description
        Resume Exit_NoItem1_AfterUpdate
    End Sub

  2. #2
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    frankmtl bonjour,

    Mais lorsque j'entre un numéro d'Item voici ce que le système me dit: "Trop peu de paramètres 1 attendu !"
    En règle général, ce message signifie qu'un champ issu de la table source (PRODUITS) n'existe pas dans la table. En mettant un debug.print derrière la ligne concernée tu pourras récupérer dans la fenêtre d’exécution le résultat de ta requête et la lancer directement dans le QBE (assistant de création de requête).
    De plus si le codeprofour est de type alphanumérique tu devrais transformer ta requête ainsi :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    strSQL = "SELECT PRODUITS.CodeProFour, Description, PrixVendant, PrixUnite, PrixKilo FROM PRODUITS " _
            & "WHERE PRODUITS.CodeProFour = " & Me.NoItem1 & ";"
    à remplacer par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    strSQL = "SELECT PRODUITS.CodeProFour, Description, PrixVendant, PrixUnite, PrixKilo FROM PRODUITS " _
            & "WHERE PRODUITS.CodeProFour = '" & Me.NoItem1 & "';"
    Regarde ce lien afin d'utiliser le mode debug : http://cafeine.developpez.com/access...el/debugprint/

    Jimbolion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  3. #3
    Membre actif

    Homme Profil pro
    Elève au Lycée ayant pour ambition Ingenieur Informaticien
    Inscrit en
    Avril 2014
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Elève au Lycée ayant pour ambition Ingenieur Informaticien
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 285
    Points : 268
    Points
    268
    Billets dans le blog
    1
    Par défaut
    Bonjour a vous frankmtl,

    N'oublie pas de voter pour ceux qui t'aident. Ex: Jimbolion


    Monsieur Jombolion apparemment vous êtes de retour vous êtes au rendez vous dans toute les discussions.
    Cordialement,

    "C'est une requête SQL qui entre dans un bar, et le serveur répond : « Il n'y a plus de tables ! ».
    Refusée au bar, la requête SQL veut aller en boîte et le videur lui dit : « Non, dehors ! C'est select ici. »

    "

    Sankara Adama
    A+

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    adama13,



    jimbolion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Février 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2014
    Messages : 18
    Points : 9
    Points
    9
    Par défaut Formuliare
    Merci, je vais essayer cela. Je vous reviens aussitôt que possible voir si oui ou non j'ai résolu mon problème.
    Merci encore.

    p.s. Je vais ajouter les "quotes" la prochaine fois. Désolé, j'apprend.

  6. #6
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    frankmtl,

    Merci, je vais essayer cela. Je vous reviens aussitôt que possible voir si oui ou non j'ai résolu mon problème.
    La mise en pratique des techniques de Debug va te permettre de voir Access sous un nouveau jour.

    N'hésites pas à revenir vers nous pour des infos complémentaires ou l'utilisation de ces techniques.

    Cordialement,

    JimBolion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Février 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2014
    Messages : 18
    Points : 9
    Points
    9
    Par défaut Yesssssssssss
    Résolu. C'était les torpinouches d'apostrophes ('" & Me.NoItem1 & "') qui manquaient. Merci à tous.

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

Discussions similaires

  1. Création formulaire de Facture avec produits multiples
    Par Sébastien1609 dans le forum IHM
    Réponses: 11
    Dernier message: 13/06/2013, 14h45
  2. [MySQL] Formulaire de recherche PHP + un script d recherche en HTML
    Par Dsphinx dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 09/11/2005, 19h44
  3. alléger un formulaire de recherche
    Par jarod71 dans le forum Langage
    Réponses: 4
    Dernier message: 28/10/2005, 11h11
  4. Réponses: 3
    Dernier message: 20/10/2005, 12h42
  5. Réponses: 5
    Dernier message: 18/10/2005, 14h09

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