monami005
Messages postés3Date d'inscriptionvendredi 28 avril 2006StatutMembreDernière intervention30 décembre 2010
-
27 déc. 2010 à 22:32
monami005
Messages postés3Date d'inscriptionvendredi 28 avril 2006StatutMembreDernière intervention30 décembre 2010
-
30 déc. 2010 à 10:38
Salut tout le monde
J'expose ici mon problème.
A l'aide de ce code visual basic 6 j'arrive à faire un transfert de données de trois colonnes excel(Nom Prenom paye) vers une table accees
Private Sub Command1_Click()
If RS.State = adStateOpen Then RS.Close
If Option1.Value True And Check1.Value 1 And Check11.Value = 1 Then
RS.Open "Insert Into Table1 In'" & App.Path & "\Base1.mdb" & "'" & " Select * From [Monfichier]", XL, adOpenDynamic, adLockOptimistic
MsgBox "Transfert réussi", vbInformation, "INFOS"
Else: MsgBox "Vous devez....", vbInformation, "INFOS"
End If
End Sub
Mais quand je veux transférer trois autres colonnes excel contenant (Paye2 , Paye3 , paye4) pour les mêmes enregistrements de ma Table1.Base1.mdb , (la table contient déjà ces champs)mais là; ça coince partout.
JE N'ARRIVE PAS A TROUVER LA MOINDRE ISSUE
Merci à tous les membres
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 29 déc. 2010 à 11:06
Salut
Ton explication manque de précision.
Avant de parler de ton problème, j'essaye de comprendre cette syntaxe SQL peu commune.
Dans la requète que tu nous montres :
- Table1 est la table Access qui réceptionne tes données. De quels champs est-elle composée ?
- XL est, je suppose, l'objet qui pointe vers ton fichier Excel et [Monfichier] représente une plage de cellules ? Est-ce bien cela ?
Si oui, quels sont les noms des colonnes de cette plage ?
Pour ton problème :
"quand je veux transférer trois autres colonnes (...) our les mêmes enregistrements"
Que veux-tu dire ?
Tu veux ajouter de nouveaux enregistrements : veux-tu créer de nouvelles lignes/données dans ta tables ou bien veux-tu compléter les lignes déjà existantes ?
Quand tu nous auras donné la liste des champs de ta table et de ton fichier, on y verra plus clair.
Si tu dois compléter les données dans ta table :
- Soit tu t'arranges pour définir une plage complète (même si les données ne sont pas contigües) côté Excel avant de faire le Insert Into.
- Soit il faudra faire un "Update" et pas un "Insert Into", et, dans ce cas, il faudra ajouter dans ta syntaxe une clause Where pour définir quel champ de ta plage Excel il faudra associer à quel champ de ta Table1, sinon les données risquent d'arriver dans un ordre quelconque.
A moins que [Monfichier] représente une feuille entière ...
Donne des explications, stp.
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
monami005
Messages postés3Date d'inscriptionvendredi 28 avril 2006StatutMembreDernière intervention30 décembre 2010 30 déc. 2010 à 10:38
Merci Jack d'avoir répondu à mon message.
Voila ; je m'explique un peu plus.
[MonFichierExcel] est le fichier qui comprend 3 Feuilles de calcul nommées Paye1,Paye2 et Paye3
Chacune des trois feuilles comprend les colonnes suivantes
[Numéro, Nom, Prénom, Paye1,ou( 2 ou 3)
Base1.mdb est la base vers laquelle seront transférées les données et qui comprend la table1 dont les champs sont [Numéro, Nom, prénom,Paye1,Paye2,Paye3]
Quand j'exécute la première commande (Code dans le premier message)tout va bien.
Le problème, c'est quand je clique sur le bouton2 pour ajouter la deuxième paye contenu dans la feuille excel Paye2, ici je n'arrive pas à faire un update comme vous me l'avez signale.
Justement les données n'arrivent pas en ordre.
Merci pour votre aide