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

Fermé
adrinewborn - 15 janv. 2005 à 20:15
 adrinewborn - 21 janv. 2005 à 19:19
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

salut,
je crois que votre pblème est un pblème de cardinalitée.
bonne chance.
Merci.
0
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
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
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
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
16 janv. 2005 à 11:31
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
salut
la clé externe??? c'est quoi ca se défini dans vb avec du code???
sympa de repondre merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
16 janv. 2005 à 13:40
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
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
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
20 janv. 2005 à 23:15
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
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