Remplir 2 tables d'acces/excel VBA

Nemo1106 Messages postés 10 Date d'inscription mardi 17 avril 2012 Statut Membre Dernière intervention 21 mai 2012 - 25 avril 2012 à 16:28
Nemo1106 Messages postés 10 Date d'inscription mardi 17 avril 2012 Statut Membre Dernière intervention 21 mai 2012 - 26 avril 2012 à 11:37
Bonjour !

Voilà mon pb:

J'ai 2 tables ds ma base de données access : COMMANDE (cle primaire Num_ref) ET FOURNISSEUR (clé primaire Nom_ent et clé étrangère Num_ref)

J'ai fait un code permettant d'enregistrer des valeurs dans ces 2 tables d'ACCESS via EXCEL par un bouton de macro et par une requête.

Cependant, les enregistrements pour la table COMMANDE se fait à merveille mais pour la table FOURNISSEUR pas du tt. J'aimerais comprendre.

Voici mon code :

For ligne = 20 To 32
If Val(Feuil1.Cells(ligne, 1)) > 0 Then

objRS.AddNew 'ajoute à la table

'TABLE COMMANDE
objRS("Num_ref").Value = Feuil1.Cells(11, 3)
objRS("Num_ligne").Value = Feuil1.Cells(ligne, 1)
objRS("Qte_pdt").Value = Feuil1.Cells(ligne, 2)
objRS("Libelle_pdt").Value = Feuil1.Cells(ligne, 3)
objRS("Ref_pdt").Value = Feuil1.Cells(ligne, 4)
objRS("Num_aff").Value = Feuil1.Cells(ligne, 5)
objRS("P_U").Value = Feuil1.Cells(ligne, 6)

' TABLE FOURNISSEUR
' objRS("Nom_Ent").Value = Feuil1.Nom_Ent.Text
' objRS("Ad_ent").Value = Feuil1.Cells(3, 5)
' objRS("Nom_FRN").Value = Feuil1.Cells(4, 5)
' objRS("Tel_FRN").Value = Feuil1.Cells(5, 5)
' objRS("Mail_FRN").Value = Feuil1.Cells(6, 5)
objRS.Update 'ecriture ds la table
End If
Next


J'espère que vous avez compris !!
Merci bcp

3 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
25 avril 2012 à 17:28
Bonjour,
Tu développes donc sous VBA et non sous VB.Net (la présente section).
Cette discussion aurait dû être ouverte dans la section Langages dérivés > VBA (qui n'a rien à voir avec VB.Net). Prends dorénavant ce soin, s'il te plait, comme celui de présenter tes bouts de code entre balises code (3ème icône en partant de la droite).
C'est nécessaire. Ce n'est ni un luxe, ni une option.

Pour ton problème.
On ne voit nulle part dans ton code où et comment est défini objRS, tant pour l'ajout dans la table COMMANDE que pour celui dans la table FOURNISSEUR.

Je me demande d'ailleurs comment la partie mise en commentaires aurait pu ne pas provoquer un message d'erreur (dont tu ne dis pas le moindre mot).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
4u4me4us Messages postés 780 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 30 octobre 2013 3
26 avril 2012 à 11:34
Tu ne peut pas utiliser objRS pour tes deux tables.

Tu dois avoir un pour commande et un fournisseur, pour en définitif avoir un code du style

'TABLE COMMANDE
objRS("Num_ref").Value = Feuil1.Cells(11, 3)
objRS("Num_ligne").Value = Feuil1.Cells(ligne, 1)
objRS("Qte_pdt").Value = Feuil1.Cells(ligne, 2)
objRS("Libelle_pdt").Value = Feuil1.Cells(ligne, 3)
objRS("Ref_pdt").Value = Feuil1.Cells(ligne, 4)
objRS("Num_aff").Value = Feuil1.Cells(ligne, 5)
objRS("P_U").Value = Feuil1.Cells(ligne, 6)
objRS.Update 'ecriture ds la table

' TABLE FOURNISSEUR
objRS2("Nom_Ent").Value = Feuil1.Nom_Ent.Text
objRS2("Ad_ent").Value = Feuil1.Cells(3, 5)
objRS2("Nom_FRN").Value = Feuil1.Cells(4, 5)
objRS2("Tel_FRN").Value = Feuil1.Cells(5, 5)
objRS2("Mail_FRN").Value = Feuil1.Cells(6, 5)
objRS2.Update 'ecriture ds la table
End If 


Comme dit ucfoutu tu dois définir ton deuxième objRS
0
Nemo1106 Messages postés 10 Date d'inscription mardi 17 avril 2012 Statut Membre Dernière intervention 21 mai 2012
26 avril 2012 à 11:37
d'accord merci bcp !
0
Rejoignez-nous