J’ail un formulaire à partir duquel je peux créer des fichiers word ou excel.
Le problème se pose quand je créer un 2eme fichier, il me le sauvegarde sous le meme non que le 1er.
Par exemple,si j’ai 2 fichiers (sdfsdf et gggg), quand je veux sauvegarder gggg, il me sauvegarde sous sdfsdf.
C’est un programme que tu as fait toi même ou que tu as recopié de quelque part ?
Tu as vérivié la valeur de NomFichier au moment de la sauvegarde (par MsgBox, comme tu as fait pour le path) ?
Ouais c’est moi qui l’as fait avec l’aide de plusieur forum. En fait, je pense qu’il ne parcours pas les enregistrements.
On m’a conseillé d’utiliser un Recordset mais je n’y arrive pas. Ensuite j’ai trouvé que sur Access, on pouvait créer une macro avec l’action “AtteindreEnregistremnt” mais je n’ai sais comment l’éxécuter sur VBA aprés l’évènement Click.
Quel est le but de l’opération ?
Sauvegarder un fichier dont le nom se trouve dans le champ NomFichier du formulaire,
ou sauvegarder plusieurs fichiers en un seul clic ?
Dans le second cas, tu ne peux pas te baser sur ton formulaire, il faut que tu balaies la table qui contient les noms, après filtrage si nécessaire.
Ca peut effectivement se faire avec un recordset. et une itération
Tu bloques où ?
Mon but est de sauvegarder un fichier dont le nom se trouve dans le champ NomFichier du formulaire.
Au 1er enregistrement, tout fonctionne correctement mais je bloque au 2eme enregistrement.
Le formulaire “Créer un Fichier” s’ouvre aprés la procédure AfterUpdate() sur le champ NomFichier.Dans cette procédure, j’ai mis une instruction Requery.
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Créer un Fichier"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Requery
Cette instruction enregistre le nouveau fichier qui vient d’être mentionné puis repositionne le curseur sur le 1er enregistrement. Ce qui fait que le nom du 2eme fichier est identique à celui du 1er.
J’espere que vous avez mieux compris mon problème.
Merci d’avance.
Edité le 01/09/2007 à 22:34
OK pour le AfterUpdate, mais je ne vois plus très bien après.
1- Qu’est-ce que tu as mis comme source pour ton formulaire “Créer un Fichier” ?
2- Normalement, ta ligne d’ouverture devrait être du genre
DoCmd.OpenForm stDocName, , , NomFichier
puisque tu as déjà stocké la valeur à rechercher dans NomFichier au début de la procedure
Regarde dans l’aide la syntaxe de la commande OpenForm
Tu verras que dernier paramètre est un “where” dans lequel tu vas préciser quel enregistrement de la source doit être utilisé
Tu n’as pas donné précisément le nom de tes champs, donc difficile de donner la syntaxe exacte, mais ça devrait ressembler à
DoCmd.OpenForm stDocName, , , [Nom du Fichier] = NomFichier