Probleme d'exportation access 2003

Résolu
dante25 Messages postés 12 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 26 juin 2007 - 21 juin 2007 à 15:46
dante25 Messages postés 12 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 26 juin 2007 - 22 juin 2007 à 08:43
Bonjour a tous et a toutes

Je voudrais exporter des données d'une table dans une autre avec les memes champs.

Mon probleme est au niveau du recodset qui contient le resultat de la requete. Il me marque erreur 3061(trop peu de parametre: 1 attendu)
voici mon code

Private Sub PS()


Dim db As DAO.Database
Dim myrst As DAO.Recordset
Dim StrSql As String


'definis la BD étudiée, c'est celle qui est courante..
Set db = Application.CurrentDb
'nom des tables
maTable = "Fichier_Soignants"
monAutreTable = "Professionnel_Sante"


StrSql = "Select nom,prrenom from " & maTable & " ORDER BY nom " & ";"


'definis le recordset qui va contenir le resultat de la requete
 Set myrst = db.OpenRecordset(StrSql, dbOpenDynaset) // erreur ici


'si le recordset n'est pas vide
 If Not myrst.EOF Then
     ' tant qu'il n'est pas vide
     Do While Not myrst.EOF
        'recuperation des valeurs
         SNom = myrst.Fields("nom").Value
         sPrenom = myrst.Fields("Sprenom").Value
        
        sSQLInsert = "INSERT INTO " & monAutreTable & " ([nom], [prenom]) VALUES ( '" & SNom & "' , '" & sPrenom & "' )"


         'tu envoies l'execution de la requete insert
         db.Execute sSQLInsert, dbFailOnError




     'enregistrement suivant
     myrst.MoveNext
       
    Loop
End If




' tu fermes/vides tout
myrst.Close
Set myrst = Nothing
db.Close
End Sub

Pouvez vous m'aider svp
PS: je n'ai rien trouvé sur les faqs ou j'ai mal compris

9 réponses

dante25 Messages postés 12 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 26 juin 2007
22 juin 2007 à 08:43
C'est bon cela fonctionne

En plus de l'erreur d'orthographe j'avais des errreurs au niveau du nom de mes variable

voila le code qui fonctionne

Private Sub PS()


Dim db As DAO.Database
Dim myrst As DAO.Recordset
Dim StrSql As String


'definis la BD étudiée, c'est celle qui est courante..
Set db = Application.CurrentDb
'nom des tables
maTable = "Fichier_Soignants"
monAutreTable = "Professionnel_Sante"


StrSql = "Select nom,prenom from " & maTable & " ORDER BY nom " & ";"


'definis le recordset qui va contenir le resultat de la requete
 Set myrst = db.OpenRecordset(StrSql, dbOpenDynaset) 'erreur ici


'si le recordset n'est pas vide
 If Not myrst.EOF Then
     ' tant qu'il n'est pas vide
     Do While Not myrst.EOF
        'recuperation des valeurs
         SNom = myrst.Fields("nom").Value
         sPrenom = myrst.Fields("prenom").Value
        
        sSQLInsert = "INSERT INTO " & monAutreTable & " ([nom_professionnel_sante], [prenom_professionnel_sante]) VALUES ( '" & SNom & "' , '" & sPrenom & "' )"


         'tu envoies l'execution de la requete insert
         db.Execute sSQLInsert, dbFailOnError




     'enregistrement suivant
     myrst.MoveNext
       
    Loop
End If




' tu fermes/vides tout
myrst.Close
Set myrst = Nothing
db.Close


   
   
End Sub

Merci a tous ceux qui m'on aider
3
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
21 juin 2007 à 18:47
Salut, cela signifie qu'il te manque un parametre,

apres db.OpenRecordset(StrSql, dbOpenDynaset,
écrit une vigule et tu auras une liste des parametres normalement.
0
dante25 Messages postés 12 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 26 juin 2007
21 juin 2007 à 22:12
Slt
 oui j'ai la liste des paramètre mais je ne sais pas quoi mettre comme parametre.

je debute en VBA

Peut tu m aider
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
21 juin 2007 à 22:24
Si tu veux les modifier, le pense que tu peux mettre celui avec optimistic (je sais plus le nom complet).

Par contre, si c'est seulement pour lire sans modifier, je crois que c'est un truc du genre ReadOnly.
0

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

Posez votre question
dante25 Messages postés 12 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 26 juin 2007
21 juin 2007 à 22:33
je viens d'essayer ta solution , mais cela ne marche toujours pas

Merci quand meme

je te tiens au courant si je trouve la solution
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
21 juin 2007 à 22:58
Quand j'utilise un recordset, les parametre donné ceci (voir l'equivalent dans ton cas):

rst.Open Requete, connexion, adOpenDynamic, adLockOptimistic

Si ca continue a bugger, je pense que cela est du a la structure de la base. Il faut trouver la connection adaptée.

Aussi, pour info, je te mets en bleu un erreur possible et en violet ce qui est inutile.
StrSql = "Select nom,prrenom from " & maTable & " ORDER BY nom" & ";"
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
22 juin 2007 à 00:17
Bonsoir,
l' erreur concerne StrSql
le champ prenom est mel orthogphié

StrSql = "Select nom, Sprenom from " & maTable & " ORDER BY nom "

au lieu de

StrSql = "Select nom, prrenom from " & maTable & " ORDER BY nom "
<hr />® l l i n g , l' agité du bocal : 
   ...quote, double quote, crochets ou parenthèses ?
   Ah si je pouvais rester dans mes charentaises !
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
22 juin 2007 à 00:21
je diais donc "...mal orthographié "

beh ça arrive

<hr />® l l i n g , l' agité du bocal : 
   ...quotes, double quote, crochets ou parenthèses ?
   Ah si je pouvais rester dans mes charentaises !
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
22 juin 2007 à 00:25
je disais donc...
et ça arrive aussi souvent qu' on ne le pense !
Pourtant j' ai vérifié avant

 
0