Probléme entre base de données acess et VB6

adrinewborn -  
 adrinewborn -
Bonjour ou bonsoir
J'ai un gros probléme entre acess et visual basic :
je dois créer un programme qui fais "la régression linéaire par la méthode des moindres carrés" a fait peur hein...
je dois sauver les coordonnées de points d'un nuages dans une base de données. le truc c'est que j'ai donc deux table acess une pour les points et un pour les nuages qui contiennent les points.
mais quand je veux entrer les coordonnées d'un point pour l'enregistré dans la base de données le prog me balance "vous ne pouvait pas ajouter ou modifier un enregistrement car l'enregistrement connexe est requis dans la table des nuages"
Je vous en supplie aider moi ou je vais me pendre!!! lol (si quelqu'un s'interesse a mon probléme je peux lui envoyer ma bd acess et mon prog merci d'avance

8 réponses

  1. mohammed
     
    salut,
    je crois que votre pblème est un pblème de cardinalitée.
    bonne chance.
    Merci.
    0
    1. adrinewborn
       
      Salut désolé de parait ingnorant mais je ne sais pas ce qu'est la cardinalité c'est embêtant.
      si je comprend bien ce que me dis vb c qu'il ne peut pas enregistrer mes données dans les deux tables...
      masi sinon qu'est-ce que la cardinalitée
      merci de m'avoir repondu une premiére fois..
      0
  2. random
     
    dans la méthode des moindres carrés on ne doit pas nécessairement garder tout le detail
    si et si tu dois garder les points tu gardes une table avec les données de base
    dans une seconde table tu gardes les variables de calcul des données déja traitées
    somme des x
    somme des X2
    somme des XY etc
    quand tu rencontres de nouvelles données tu mets à jour ces valeurs
    0
    1. adrinewborn
       
      Salut,
      merci de m'avoir repondu si vite mais autant mettre les choses au clair...
      Le prof en "carton" qui nous a donnée ce sujet nous a a peine expliquer ce que voulais dire les moindre carrés et comme je débute en vb je lutte un peu je crois que mon probléme vien du fais que j'ai deux table reliée avec une relation et qu'apparament quand je veux sauvé des coordonnées de points dans la table des point vb ne peut pas car il doit aussi les sauvé dans les table des nuage(le mieux serai peut etre de te ou vous faire voir ma bd acess) merci d'avance
      0
  3. zenon Messages postés 729 Statut Membre 180
     
    Tu as tout à fait raison. Ca semble être un simple problème de relations.

    Quand tu enregistres un nouveau point, tu devrais aussi définir la valeur de la clé externe qui relie ta table "points" à ta table "nuages" dans le même enregistrement.
    0
  4. adrinewborn
     
    salut
    la clé externe??? c'est quoi ca se défini dans vb avec du code???
    sympa de repondre merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. zenon Messages postés 729 Statut Membre 180
     
    Si tu as une relation entre tes tables, elle doit se faire par le biais d'un champ clé primaire dans la table "source" (nuages) et un champ clé externe dans la table liés (points).
    Si tu définis la valeur de ce champ (si tu permets à ta base de "savoir" à quel nuage ton point appartient), il ne devait plus y avoir de problème.

    Dans access, il suffirait effectivement de définir la valeur en VB (ou de le faire par le biais d'un sous-formulaire) mais je ne sais pas comment le faire directement via VB...
    0
  7. adrinewborn
     
    je vois que tu a trés bien compris mon probléme et ca c super géniale mais je ne vois pas ce que tu entend par "clé externe"
    d'autant que ca me met hors de moi car la bd que g faite me parait juste

    Private Sub cmdEnregistrement_Click()
       With datCoordonnées.Recordset
           .AddNew
           !N°Nuages = txtNuage
           !Xi = txtX
           !Yi = txtY
           .Update
           .MoveNext
       End With
    end sub

    voici le code que j'utilise pour enregistrer mes données dans ma base et j'ai constater que c'était le update qui ne convenai pas

    En attendant merci de m'avoir repondu si vite
    0
  8. zenon Messages postés 729 Statut Membre 180
     
    Excuse-moi de te répondre si tard... j'ai eu du boulot...

    Es-tu sûr que ta variable N°Nuage existe bien dans la table nuage (et est clé primaire).
    Es-tu sûr qu'elle est au format numérique (j'ai un doute quant je vois le nom (txtnuage) mais je me trompe peut-être.

    Juste pour tester, tu pourrais peut-être supprimer la relation entre les tables nuage et points.

    Quant à la notion de clé externe, je pense qu'il te suffit, dans la fenêtre relations de regarder quels sont les champs reliés dans les tables nuage et points. En principe ces champs doivent être de type numérique ou N°Auto mais c'est sûrement le cas, sinon il est impossible de créer la relation, si j'ai bon souvenir...

    Si tu définis dans ton code la valeur du champ qui est lié à la table nuages en format numérique et que cette valeur existe dans la table nuages, tu ne devrais pas avoir de problème.

    A bientôt!
    0
  9. adrinewborn
     
    merci encore une fois de m'avoir repondu j'ai enfin résolu ce probléme maitenant ca ecrit niquel dans access je suis hyper content merci encore @+
    0