Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

suite prob insertion de donnée auto dans sous formulaire ac97

12 réponses
Avatar
valeriepepoz
Bonjour

je fais suite à une de mes questions d'hier. j'aimerai renseigner automatiquement dans un sous-formulaire une info contenue dans openargs du formulaire principal.(parent.openargs
hier, Raymond m'a suggéré de coder :
Forms("monform")("monsousforms").Form.SetFocus --> ca ne marche pas en access 97(j'avais oublié de préciser que je travaille en 97 !) e
DoCmd.GoToRecord , , acNewRec --> ca marche

j'ai donc codé : dans le formulaire principale à Form_Current()
Me![nom de mon sous-formulaire].SetFocu
et inséré le code docmd.goto à réception focus de mon sous-formulaire mais rien ne se passe

le code réception focus ne s'exécute pas . J'ai essayé plusieurs évènement sans succès

j'aimerai savoir ou mettre exactement le code pour insérer mon info en fin d'enregistrement déjà existant dans mon sous-formulaire car aujourd'hui je n'arrive qu'à pratiquement écraser l'info sur le 1er enregistrement de mon sous-formulaire
Merci d'avance de vos aide
cordialemen
valéri

10 réponses

1 2
Avatar
3stone
Salut,

"valeriepepoz"
je fais suite à une de mes questions d'hier. j'aimerai renseigner automatiquement dans un
sous-formulaire une info contenue dans openargs du formulaire principal.(parent.openargs)

hier, Raymond m'a suggéré de coder :


il failait donc rester dans la conversation.....


Forms("monform")("monsousforms").Form.SetFocus --> ca ne marche pas en access 97(j'avais oublié de
préciser que je travaille en 97 !) et

DoCmd.GoToRecord , , acNewRec --> ca marche .



en deux coups... d'abord activer le contrôle sous-formulaire,
et seulement ensuite, le controle...


Me("nonsousform").setfocus
Me("nonsousform").Form("controle").setfocus



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
valeriepepoz
Merci mais j'aimerai avoir quelques précisions

hier en faisant me("nomsousform").setfocu
Access reste dans le code du formulaire principal, donc pour me déplacer sur le dernier enregistrement(en création) de mon formulaire, je mets simplement derrière me("nomsousform").setfocusle gotorecord,,acnewrec

merci pour votre aide
valérie
Avatar
3stone
re,

"valeriepepoz" >
hier en faisant me("nomsousform").setfocus
Access reste dans le code du formulaire principal, donc pour me déplacer sur le dernier
enregistrement(en création) de mon formulaire, je mets simplement derrière

me("nomsousform").setfocusle gotorecord,,acnewrec ?



Me("NomSousForm").SetFocus
DoCmd.GoToRecord , , acNewRec


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
valeriepepoz
bonsoir

j'ai toujours le meme problème , j'ai codé : sur le load current de mon formulaire principal :
Me("BudgetsClients sous-formulaire").SetFocu
DoCmd.GoToRecord , , acNewRe
Me("budgetsclients sous-formulaire").Form("EotP").SetFocu
Me("budgetsclients sous-formulaire").Form("EotP") = Me.OpenArg
lorsque Access passe sur le docmd, il me fait un message d'erreur :
erreur d'execution 2499
Impossible d'utiliser l'action Atteindre enregistrement ou la méthode gotorecord en mode création

Si vous utilisez une macro ou VB contenant une action qui ouvre l'objet, attribuer à l'argument VU le mode correct
avant d'exécuter l'action Atteindre enregistrement

Je ne comprend pas le message. Quelqu'un peut il m'aider
D'avance merci
Cordialemen
valérie
Avatar
3stone
Salut,

"valeriepepoz"
j'ai toujours le meme problème , j'ai codé : sur le load current de mon formulaire principal :
Me("BudgetsClients sous-formulaire").SetFocus
DoCmd.GoToRecord , , acNewRec
Me("budgetsclients sous-formulaire").Form("EotP").SetFocus
Me("budgetsclients sous-formulaire").Form("EotP") = Me.OpenArgs
lorsque Access passe sur le docmd, il me fait un message d'erreur :
erreur d'execution 2499.




Essaies ainsi :

Me![BudgetsClients sous-formulaire].SetFocus
DoCmd.GoToRecord , , acNewRec
Me![budgetsclients sous-formulaire].Form![EotP].SetFocus
Me![budgetsclients sous-formulaire].Form![EotP] = Me.OpenArgs


évite les espaces dans les noms de contrôles, ainsi que les signes barbares comme ° -



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
valeriepepoz
Bonjour

je suis désolée mais j'ai toujours le meme message d'erreur. J'ai codé comme tu me l'as écris

Me![budgetsclients sous-formulaire].SetFocu
DoCmd.GoToRecord , , acNewRe
Me![budgetsclients sous-formulaire].Form![EOTP].SetFocu
Me![budgetsclients sous-formulaire].Form![EOTP] = Me.OpenArg
Petite précision mon formulaire principal est en mode allowedits = tru
ainsi que mon sous-formulaire
Merci de ton aide
valéri
ps : pour les noms barbares, je ne fais que reprendre un existant et je dois faire avec. Sinon, merci du conseil.
Avatar
3stone
Salut,

"valeriepepoz"

je suis désolée mais j'ai toujours le meme message d'erreur.



Et sans rien coder, arrive-tu, à la main, à faire ce que tu tente ?

Je veux dire, ton formulaire/sous-formulaire est-il fonctionnel ?


Petite précision mon formulaire principal est en mode allowedits = true
ainsi que mon sous-formulaire .


voir questions ci dessus...



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
valeriepepoz
J'ai supprimé le code qui ne fonctionne pas
Le formulaire et sous-formulaire s'ouvrent normalement
Je peux me positionner en fin d'enregistrement de mon sous-formulaire et insérer mes données, l'enrgistrer sans problème

Donc ca marche manuellement
valérie
Avatar
3stone
Salut,

"valeriepepoz"
J'ai supprimé le code qui ne fonctionne pas.
Le formulaire et sous-formulaire s'ouvrent normalement.
Je peux me positionner en fin d'enregistrement de mon sous-formulaire et insérer mes données,
l'enrgistrer sans problème.


Donc ca marche manuellement.



Donc, c'est ton "enfilade" qui ne fonctionne pas...


La première partie, fonctionne parfaitement (dans la manière de faire) :

Me![BudgetsClients sous-formulaire].SetFocus
DoCmd.GoToRecord , , acNewRec

La suivante, c'est autre chose...

Me![budgetsclients sous-formulaire].Form![EotP].SetFocus
Me![budgetsclients sous-formulaire].Form![EotP] = Me.OpenArgs

Cela doit être "l'endroit" ou le "moment" de ton appel qui fait problème.
Essaie de faire pas à pas, pour te rendre compte.


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
valeriepepoz
En pas à pas, je ne peux voir grand chose car access plante sur l'instruction docmd?goto..
Impossible d'atteindre l'enregistrement etc ...

Par contre, j'arrive très bien à insérer ma donnée lorsque mon formulaire est appelé en entré de données :
If Me.DataEntry The
Me![BudgetsClients sous-formulaire].SetFocu
Me![BudgetsClients sous-formulaire].Form![EOTP].SetFocu
Me![BudgetsClients sous-formulaire].Form![EOTP] = Me.OpenArg
Me!NewClient.Enabled = Fals
Me!ModifClient.Enabled = Fals
toute la partie supérieure fonctionne
Els
Me![BudgetsClients sous-formulaire].SetFocu
DoCmd.GoToRecord , , acNewRe
Me![BudgetsClients sous-formulaire].Form![EOTP].SetFocu
Me![BudgetsClients sous-formulaire].Form![EOTP] = Me.OpenArg

End I

Toujours merci pour ton aid
valérie
1 2