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 :

souci sur une relation


Sujet :

Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 9
    Points
    9
    Par défaut souci sur une relation
    Bonjour,

    Voila, j'ai encore un probleme dans mes relations ! je voudrai affecter une relance a plusieur factures du meme clients, mais je ne sais pas si c'est possible !
    je vous fourni tout ce que j'ai deja, car la, je peine encore
    dès que j'arrive a attribuer une relance a plusieur factures du meme client, je pourrai enfin finir mon projet !

    Client (Num_cli, nom, adresse, cp, civilité, num compte)
    Factures (num_fact, #num_cli, date, montant, date_paiement)
    Relance (ID_relance, libellé_relance, date_relance, #num_fact)

    j'ai ca en Modele Relationel !

    je vous met aussi les relation access !

    en vous remerciant
    Images attachées Images attachées  

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Points : 268
    Points
    268
    Par défaut
    pas de probleme, tu peux le faire.
    ta requete sera du style
    SELECT ...
    FROM CLien, Facture, Relande
    WHERE ...(Les jointure...)
    AND MontantFacture is null
    AND NumCLient = LeNumDuCLient

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par tamerlan
    AND MontantFacture is null
    mais pourquoi montant is null ? toute les facture rentrées ont obligatoirement un montant car ce sont les factures que les clients ne paient pas.

    je vais quand meme faire ma requete, et je vous dirai ce que ca donne et ce que j'ai mis !

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Points : 268
    Points
    268
    Par défaut
    ok oui c est moi, c est une erreure tu as raison...... je pensais plutot a une date de paiement

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 9
    Points
    9
    Par défaut
    ah d'accord ! effectivement, la date de paiement est nulle si on relance la facture.
    je vais essayer ca ! et pas grave pour l'erreur, c'est deja bien gentil de m'aider !

  6. #6
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 9
    Points
    9
    Par défaut
    SELECT c.Nom_client, f.Num_facture, r.Libelle_relance
    FROM Client c, Facture f, Relance r
    WHERE f.Num_facture = r.Num_facture
    AND date_paiement_facture is null
    and c.Num_Client = f.Num_client
    mais je pense pas que ce soit ca ! mais en y pensant bien, id_relance ne peu pas correspondre a N factures, puisque c'est un identifiant, il est donc unique une seule facture nan ?

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Points : 268
    Points
    268
    Par défaut
    un client peut avoir plusieurs factures non payees.
    une facture fait lieu a une relance.
    pour economie de papier, toute les factures non payees d'un client seront sur une meme feuille.
    donc ca ne change rien.

  8. #8
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par tamerlan
    un client peut avoir plusieurs factures non payees.
    une facture fait lieu a une relance.
    pour economie de papier, toute les factures non payees d'un client seront sur une meme feuille.
    donc ca ne change rien.
    la, je suis d'accord avec toi !
    c'est ce que je veu realiser.

    je suis debutant en programmation,
    Ma requete est-elle un sens et un lien avec la reponse queje souhaite ?

    encore merci de m'aider

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Points : 268
    Points
    268
    Par défaut
    SELECT c.Nom_client, f.Num_facture, r.Libelle_relance
    FROM Client c, Facture f, Relance r
    WHERE f.Num_facture = r.Num_facture
    AND date_paiement_facture is null
    and c.Num_Client = f.Num_client
    avec cetterequete, tu auras toutes les factures non payer de tous les clients. Si tu les veux pour un client particulier il faut rajouter une condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND c.NumClient = LeNumClient
    je suis debutant en programmation
    Il faut bien un début a tout !!!!

  10. #10
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par tamerlan
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND c.NumClient = LeNumClient
    mais ma table client aura environ 500/1.000 clients, donc faut que je fasse une requete par client existant et par nouveau client ?

    Citation Envoyé par tamerlan
    Il faut bien un début a tout !!!!
    je sais et grace a vos conseil, j'apprend beaucoup ^^

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Points : 268
    Points
    268
    Par défaut
    mais ma table client aura environ 500/1.000 clients, donc faut que je fasse une requete par client existant et par nouveau client ?
    Heureusement que NON!!!!!
    tu mets le numero du client en parametre et il changer a chaque fois.
    Si le numClient est 4 par exemple, le parametre portera 4
    Si le numClient est 1000 par exemple, le parametre portera 1000

  12. #12
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 9
    Points
    9
    Par défaut
    ouf, ca me rassure !
    si j'ai bien compris, LeNumClient sera le parametre qui prendra la valeur de num client a chaque fois. c'est bien ca ?
    je dois donc le declarer lui,ainsi que la requete dans mon code vba ?

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Points : 268
    Points
    268
    Par défaut
    oui c est ca

    mais comment vas tu faire la chose? expliques

  14. #14
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 9
    Points
    9
    Par défaut
    je pense le declarer comme indiquer dans la faq

    Parameters TON_PARAM Text;
    Insert Into TABLE1 Select CHAMP1 From TABLE2 Where CHAMP2 = [TON_PARAM];

    Voici un exemple de code :

    Set qdf= CurrentDb.QueryDefs("TAREQUETE")
    With qdf
    .Parameters("TON_PARAM") = TaVariable
    .Execute
    End With
    et ceci dans le code du bouton sauvegarder enregistrement nan ?

  15. #15
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Points : 268
    Points
    268
    Par défaut
    oui après l'enregistrement. essayes et si c est que tu veux, c est cool!!!

  16. #16
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 9
    Points
    9
    Par défaut
    d'accord, j'essai et je te dis si ca marche !

    encore merci pour ton aide !

    ca m'as beaucoup aidé

    PS : mais comment je peu dire que je peu attitrer num_client au parametre ?

  17. #17
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Points : 268
    Points
    268
    Par défaut
    WHERE Client.NumCLient = [Forms]![NomDuFOrmulaire]![NomDuTexteOuSeTrouveLeNumClient]

  18. #18
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 9
    Points
    9
    Par défaut
    merci bien tamerlan ! ton aide m'as ete precieuse

  19. #19
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Points : 268
    Points
    268
    Par défaut
    n hesites pas à demander

  20. #20
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 9
    Points
    9
    Par défaut
    j'ai un peu de mal a faire le code vba

    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 btSAUV_Click()
     
    Parameter "LeNumClient" Integer;
    Insert Into Resultat SELECT Client.Nom_client, Facture.Num_facture, Relance.Libelle_relance from Client, Facture, Relance
    where f.Num_facture = r.Num_facture And date_paiement_facture Is Null And Client.NumCLient = f.Num_client And Client.NumCLient = [Forms]![Clients]![NomDuTexteOuSeTrouveLeNumClient]
     
    Set num_relance = CurrentDb.QueryDefs("TAREQUETE")
    With qdf
    .Parameters("LeNumClient") = Client.NumClient
    .Execute
    End With
     
    End Sub
    il me trouve une erreur pour le integer (erreur de compilation Attendu : fin d'instruction) et la meme chose pour le insert into

    NomDuTexteOuSeTrouveLeNumClient et ca, je vois pas trop a quoi ca pourrai correspondre !

    peut-tu m'aider un peu a faire se code !

Discussions similaires

  1. Trie sur une relation
    Par Soncar dans le forum VB.NET
    Réponses: 14
    Dernier message: 25/04/2008, 09h56
  2. [CONCEPTION] probleme sur une relation reflexive
    Par bambi98 dans le forum Modélisation
    Réponses: 5
    Dernier message: 27/04/2007, 11h34
  3. [VBA-E] Soucis sur une Combo box
    Par bonilla dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/12/2006, 10h52
  4. Soucis sur une fonction
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/06/2006, 18h23
  5. Question sur une relation ternaire dans un MCD
    Par sylsau dans le forum Schéma
    Réponses: 5
    Dernier message: 05/03/2006, 20h00

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