VBA ACCESS : erreur 3251, pourquoi?
Résolublux Messages postés 2016 Date d'inscription Statut Modérateur Dernière intervention -
Voici le petit bout de code qui m'ennuie énormément. Le but est de sélectionner les données de la colonne F et de créer autant de fichier qu'il y a de données différentes (si ce sont les mêmes, elles iraient dans le même fichier)
Mais je me tape l'erreur 3251 qui dit l'opération n'est pas autorisée... un petit coup de main?
On Error Resume Next
'boucle qui prend chaque pfc pour l'insérer dans un fichier unique avec son nom de rattachement et son ERD ID
Dim F As DAO.Field
Dim G As DAO.Field
Dim DB As DAO.Database
Dim rst As Recordset
Set DB = CurrentDb()
Set rst = CurrentDb.OpenRecordset("fum&pfc")
Set G = rst.Fields![ERD Id]
Set F = rst.Fields![Rattaché à Id]
rst.MoveFirst
While Not rst.EOF
For Each F In DB
DoCmd.TransferText acExportDelim, "FUM_IMPORT", "FUM_" + F + "_" + G + "_31122011.txt", "C:\Documents and Settings\sghn4628\Desktop\Sujet PFC\FUM_" + F + "_" + G + "_31122011.txt"
Next
Wend
rst.MoveNext
rst.Close
End Sub
- VBA ACCESS : erreur 3251, pourquoi?
- Access appdata - Guide
- Get access - Télécharger - Récupération de données
- Migration base access vers sql server - Télécharger - Gestion de données
- Commun file upload access denied - Forum Services en ligne
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
2 réponses
Cette discussion porte sur l'export de données distinctes d'une colonne F vers des fichiers pour chaque valeur, avec un nom basé sur ces valeurs et l'ERD, et l'erreur 3251.
Plusieurs interventions envisagent de recourir à une requête distincte et une boucle qui segmente l'import/export par valeurs de rattachement, en discutant l'usage de SELECT DISTINCTROW avec jointures fum_pfc et ref_pfc.
Des échanges portent sur les boucles For Each F In DB ou For Each F In rst qui n'itèrent pas, et sur l'intérêt d'utiliser une table source unique avec regroupement.
Enfin, des suggestions pratiques évoquent d'éviter des chemins trop longs et des noms de fichier avec extension inutile, et d'envisager d'exporter sans extension pour faciliter la maintenance et les vérifications.
Je virerais le foreach (la boucle est déjà faite avec while), la définition des deux champs, de la base et j'attaquerais en direct :
DoCmd.TransferText acExportDelim, "FUM_IMPORT", "FUM_" +rst.fields[rattaché à Id] + "_" + rst.fields[ERD Id] ....