Probleme d'exportation access 2003

Résolu
Signaler
Messages postés
12
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
26 juin 2007
-
Messages postés
12
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
26 juin 2007
-
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

Messages postés
12
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
26 juin 2007

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
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
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.
Messages postés
12
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
26 juin 2007

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
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
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.
Messages postés
12
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
26 juin 2007

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
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
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" & ";"
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
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 !
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
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 !
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
je disais donc...
et ça arrive aussi souvent qu' on ne le pense !
Pourtant j' ai vérifié avant