Ajouter des contrôles automatiquement

Le
Jacques
Bonjour,

J'ai une ligne de contrôles : un combobox suivi de 12 textebox.
La combobox est alimentée par une table contenant des noms

Serait-il possible d'ajouter autant de lignes de contrôles qu'il n'y a de
nom
dans la table
Comment procéder ?

Si vous avez un site, un exemple ou une documentation cela serait le
bienvenu :-)


Merci de vos réponses.


Jacques
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Tisane
Le #6313841
Bonjour Jacques,

J'ai une ligne de contrôles : un combobox suivi de 12 textebox.
La combobox est alimentée par une table contenant des noms
Serait-il possible d'ajouter autant de lignes de contrôles qu'il n'y a de
nom
dans la table
Comment procéder ?


Tu parles d'un formulaire ? D'un sous-formulaire ?
Il est en mode continu ?
Si tu as créé une zone de liste déroulante (combo box), c'est dans
l'objectif, je suppose, de sélectionner un item à affecter à
l'enregistrement en cours.
Comment veux-tu qu'Access affiche des enregistrements que tu n'as pas encore
créés ?
Sinon, je ne vois pas à quoi te sert cette liste. Tu peux baser ton
formulaire sur la table et tu auras tous les noms affichés.
Mais honnêtement, je ne crois pas avoir compris. Précise à quoi sert cette
liste déroulante et où elle se trouve.

--
Tisane

Jacques
Le #6313731
Bonjour Tisane,

Merci de te préoccupé de ma question...:-)

J'ai une table qui contient des noms. Selon le nombre d'enregistrements, je
voudrai ajouter sur un sous-formulaire autant de ligne que
d'enregistrements.
Chaque ligne de contrôles contientrait un combobox et 12 textbox.

J'ai résolu en partie ce problème ! (Je suis têtu!) :-)

Là, où je coince encore c'est de savoir comment écrire les évènements pour
ces contrôles créés dynamiquement.
La combobx serai alimentée par la table contenant les noms et pour chacun
des textbox un appel à une fonction sur le lostfocus.
Mais comment aller écrire le code dans l'évènement de chacun de ces
contrôles ??
J'espère avoir été plus clair !

Jacques

"Tisane" #e2F#
Bonjour Jacques,

J'ai une ligne de contrôles : un combobox suivi de 12 textebox.
La combobox est alimentée par une table contenant des noms
Serait-il possible d'ajouter autant de lignes de contrôles qu'il n'y a
de


nom
dans la table
Comment procéder ?


Tu parles d'un formulaire ? D'un sous-formulaire ?
Il est en mode continu ?
Si tu as créé une zone de liste déroulante (combo box), c'est dans
l'objectif, je suppose, de sélectionner un item à affecter à
l'enregistrement en cours.
Comment veux-tu qu'Access affiche des enregistrements que tu n'as pas
encore

créés ?
Sinon, je ne vois pas à quoi te sert cette liste. Tu peux baser ton
formulaire sur la table et tu auras tous les noms affichés.
Mais honnêtement, je ne crois pas avoir compris. Précise à quoi sert cette
liste déroulante et où elle se trouve.

--
Tisane




Jacques
Le #6313701
Re,

Je cherche mais sans vraiment de résultat... :-(
Voici ci-dessous un bout de code dans lequel j'essaie d'inserer mon code.
Le code est en erreur è la ligne Set frm où je veux passer le nom de mon
sous-formulaire
Une idée ??

Merci

Public Function AjoutCode(ctlcode As String)
Dim mdl As Module
Dim frm As Form
Dim lngRetour As Long

On Error GoTo AjoutCode_Error
Set frm = "sfrmHoraire" ??????????????

Set mdl = frm.Module
lngRetour = mdl.CreateEventProc("GotFocus", combo_0)
mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"" "

On Error GoTo 0
Exit Function

AjoutCode_Error:

MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure
AjoutCode of Module modAjoutCtl"

End Function



"Tisane" #e2F#
Bonjour Jacques,

J'ai une ligne de contrôles : un combobox suivi de 12 textebox.
La combobox est alimentée par une table contenant des noms
Serait-il possible d'ajouter autant de lignes de contrôles qu'il n'y a
de


nom
dans la table
Comment procéder ?


Tu parles d'un formulaire ? D'un sous-formulaire ?
Il est en mode continu ?
Si tu as créé une zone de liste déroulante (combo box), c'est dans
l'objectif, je suppose, de sélectionner un item à affecter à
l'enregistrement en cours.
Comment veux-tu qu'Access affiche des enregistrements que tu n'as pas
encore

créés ?
Sinon, je ne vois pas à quoi te sert cette liste. Tu peux baser ton
formulaire sur la table et tu auras tous les noms affichés.
Mais honnêtement, je ne crois pas avoir compris. Précise à quoi sert cette
liste déroulante et où elle se trouve.

--
Tisane




Raymond [mvp]
Le #6313681
Bonjour.

je ne voudrais pas entrer dans le vif du sujet car je n'ai rien compris au
pourquoi du comment de la chose.
pour la procédure, voici un exemple de code simple pour créer un module, à
toi de le compléter avec la gestion des erreurs, le passage des paramètres
etc...

Dim mdl As Module
Dim frm As Form
Dim lngRetour As Long
DoCmd.OpenForm "sfrmHoraire", acDesign, , , , acHidden
Set frm = Forms("sfrmHoraire")
Set mdl = frm.Module
lngRetour = mdl.CreateEventProc("GotFocus", "combo_0")
mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"""
DoCmd.Close acForm, "sfrmHoraire", acSaveYes

pour créer du code, il faut que le formulaire soit ouvert en mode Design.
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j’en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Jacques" %
| Re,
|
| Je cherche mais sans vraiment de résultat... :-(
| Voici ci-dessous un bout de code dans lequel j'essaie d'inserer mon code.
| Le code est en erreur è la ligne Set frm où je veux passer le nom de mon
| sous-formulaire
| Une idée ??
|
| Merci
|
| Public Function AjoutCode(ctlcode As String)
| Dim mdl As Module
| Dim frm As Form
| Dim lngRetour As Long
|
| On Error GoTo AjoutCode_Error
| Set frm = "sfrmHoraire" ??????????????
|
| Set mdl = frm.Module
| lngRetour = mdl.CreateEventProc("GotFocus", combo_0)
| mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"" "
|
| On Error GoTo 0
| Exit Function
|
| AjoutCode_Error:
|
| MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure
| AjoutCode of Module modAjoutCtl"
|
| End Function
|
Jacques \(BE\)
Le #6313301
Bonjour et merci Raymond,

J'ai une erreur de code sur la ligne :

lngRetour = mdl.CreateEventProc("GotFocus", "combo_0")

Error 57017 - Gestionnaire d'évènement non valide dans la procédure ...

Je ne trouve pas d'information sur cette erreur!

Merci

Jacques

"Raymond [mvp]" de news:
Bonjour.

je ne voudrais pas entrer dans le vif du sujet car je n'ai rien compris
au

pourquoi du comment de la chose.
pour la procédure, voici un exemple de code simple pour créer un module, à
toi de le compléter avec la gestion des erreurs, le passage des paramètres
etc...

Dim mdl As Module
Dim frm As Form
Dim lngRetour As Long
DoCmd.OpenForm "sfrmHoraire", acDesign, , , , acHidden
Set frm = Forms("sfrmHoraire")
Set mdl = frm.Module
lngRetour = mdl.CreateEventProc("GotFocus", "combo_0")
mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"""
DoCmd.Close acForm, "sfrmHoraire", acSaveYes

pour créer du code, il faut que le formulaire soit ouvert en mode Design.
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances

http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99



"Jacques" %
| Re,
|
| Je cherche mais sans vraiment de résultat... :-(
| Voici ci-dessous un bout de code dans lequel j'essaie d'inserer mon
code.

| Le code est en erreur è la ligne Set frm où je veux passer le nom de mon
| sous-formulaire
| Une idée ??
|
| Merci
|
| Public Function AjoutCode(ctlcode As String)
| Dim mdl As Module
| Dim frm As Form
| Dim lngRetour As Long
|
| On Error GoTo AjoutCode_Error
| Set frm = "sfrmHoraire" ??????????????
|
| Set mdl = frm.Module
| lngRetour = mdl.CreateEventProc("GotFocus", combo_0)
| mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"" "
|
| On Error GoTo 0
| Exit Function
|
| AjoutCode_Error:
|
| MsgBox "Error " & Err.Number & " (" & Err.Description & ") in
procedure

| AjoutCode of Module modAjoutCtl"
|
| End Function
|




Jacques \(BE\)
Le #6313281
Re bonjour,

L'erreur semble ne plus se produire par contre j,ai un autre message
"Impossible d,entrer en mode arrêt maintenant"

si je clique sur "Continuer" , j'ai un autre message
"Erreur 2450 impossible de trouver le formulaire sfrmHoraire auquel il est
fait référence..."

La fonction s'écrit malgré tout ainsi que le Msgbox dans le formulaire


Merci de votre aide

Jacques


"Raymond [mvp]" de news:
Bonjour.

je ne voudrais pas entrer dans le vif du sujet car je n'ai rien compris
au

pourquoi du comment de la chose.
pour la procédure, voici un exemple de code simple pour créer un module, à
toi de le compléter avec la gestion des erreurs, le passage des paramètres
etc...

Dim mdl As Module
Dim frm As Form
Dim lngRetour As Long
DoCmd.OpenForm "sfrmHoraire", acDesign, , , , acHidden
Set frm = Forms("sfrmHoraire")
Set mdl = frm.Module
lngRetour = mdl.CreateEventProc("GotFocus", "combo_0")
mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"""
DoCmd.Close acForm, "sfrmHoraire", acSaveYes

pour créer du code, il faut que le formulaire soit ouvert en mode Design.
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances

http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99



"Jacques" %
| Re,
|
| Je cherche mais sans vraiment de résultat... :-(
| Voici ci-dessous un bout de code dans lequel j'essaie d'inserer mon
code.

| Le code est en erreur è la ligne Set frm où je veux passer le nom de mon
| sous-formulaire
| Une idée ??
|
| Merci
|
| Public Function AjoutCode(ctlcode As String)
| Dim mdl As Module
| Dim frm As Form
| Dim lngRetour As Long
|
| On Error GoTo AjoutCode_Error
| Set frm = "sfrmHoraire" ??????????????
|
| Set mdl = frm.Module
| lngRetour = mdl.CreateEventProc("GotFocus", combo_0)
| mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"" "
|
| On Error GoTo 0
| Exit Function
|
| AjoutCode_Error:
|
| MsgBox "Error " & Err.Number & " (" & Err.Description & ") in
procedure

| AjoutCode of Module modAjoutCtl"
|
| End Function
|




Raymond [mvp]
Le #6313141
moi j'ai mis le nom que tu avais indiqué, mais est-ce bien le nom réel de
ton contrôle ?

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j’en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Jacques (BE)" %
| Bonjour et merci Raymond,
|
| J'ai une erreur de code sur la ligne :
|
| lngRetour = mdl.CreateEventProc("GotFocus", "combo_0")
|
| Error 57017 - Gestionnaire d'évènement non valide dans la procédure ...
|
| Je ne trouve pas d'information sur cette erreur!
|
| Merci
|
| Jacques
|
| "Raymond [mvp]" message
| de news:
| > Bonjour.
| >
| > je ne voudrais pas entrer dans le vif du sujet car je n'ai rien compris
| au
| > pourquoi du comment de la chose.
| > pour la procédure, voici un exemple de code simple pour créer un module,
à
| > toi de le compléter avec la gestion des erreurs, le passage des
paramètres
| > etc...
| >
| > Dim mdl As Module
| > Dim frm As Form
| > Dim lngRetour As Long
| > DoCmd.OpenForm "sfrmHoraire", acDesign, , , , acHidden
| > Set frm = Forms("sfrmHoraire")
| > Set mdl = frm.Module
| > lngRetour = mdl.CreateEventProc("GotFocus", "combo_0")
| > mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"""
| > DoCmd.Close acForm, "sfrmHoraire", acSaveYes
| >
| > pour créer du code, il faut que le formulaire soit ouvert en mode
Design.
| > --
| > @+
| > Raymond Access MVP http://www.OfficeSystemAccess.com/
| > http://officesystem.access.over-blog.com/
| > Pour débuter sur le forum: http://www.mpfa.info/
| >
| > Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
| >
|
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99
| >
| >
| > "Jacques" | > %
| > | Re,
| > |
| > | Je cherche mais sans vraiment de résultat... :-(
| > | Voici ci-dessous un bout de code dans lequel j'essaie d'inserer mon
| code.
| > | Le code est en erreur è la ligne Set frm où je veux passer le nom de
mon
| > | sous-formulaire
| > | Une idée ??
| > |
| > | Merci
| > |
| > | Public Function AjoutCode(ctlcode As String)
| > | Dim mdl As Module
| > | Dim frm As Form
| > | Dim lngRetour As Long
| > |
| > | On Error GoTo AjoutCode_Error
| > | Set frm = "sfrmHoraire" ??????????????
| > |
| > | Set mdl = frm.Module
| > | lngRetour = mdl.CreateEventProc("GotFocus", combo_0)
| > | mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"" "
| > |
| > | On Error GoTo 0
| > | Exit Function
| > |
| > | AjoutCode_Error:
| > |
| > | MsgBox "Error " & Err.Number & " (" & Err.Description & ") in
| procedure
| > | AjoutCode of Module modAjoutCtl"
| > |
| > | End Function
| > |
| >
| >
|
|
Jacques \(BE\)
Le #6313131
Bonjour,

oui, c'est bien le nom ... :-(

Jacques

"Raymond [mvp]" de news:%
moi j'ai mis le nom que tu avais indiqué, mais est-ce bien le nom réel de
ton contrôle ?

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances

http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99



"Jacques (BE)" %
| Bonjour et merci Raymond,
|
| J'ai une erreur de code sur la ligne :
|
| lngRetour = mdl.CreateEventProc("GotFocus", "combo_0")
|
| Error 57017 - Gestionnaire d'évènement non valide dans la procédure ...
|
| Je ne trouve pas d'information sur cette erreur!
|
| Merci
|
| Jacques
|
| "Raymond [mvp]" message
| de news:
| > Bonjour.
| >
| > je ne voudrais pas entrer dans le vif du sujet car je n'ai rien
compris

| au
| > pourquoi du comment de la chose.
| > pour la procédure, voici un exemple de code simple pour créer un
module,

à
| > toi de le compléter avec la gestion des erreurs, le passage des
paramètres
| > etc...
| >
| > Dim mdl As Module
| > Dim frm As Form
| > Dim lngRetour As Long
| > DoCmd.OpenForm "sfrmHoraire", acDesign, , , , acHidden
| > Set frm = Forms("sfrmHoraire")
| > Set mdl = frm.Module
| > lngRetour = mdl.CreateEventProc("GotFocus", "combo_0")
| > mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"""
| > DoCmd.Close acForm, "sfrmHoraire", acSaveYes
| >
| > pour créer du code, il faut que le formulaire soit ouvert en mode
Design.
| > --
| > @+
| > Raymond Access MVP http://www.OfficeSystemAccess.com/
| > http://officesystem.access.over-blog.com/
| > Pour débuter sur le forum: http://www.mpfa.info/
| >
| > Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
| >
|

http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99

| >
| >
| > "Jacques" | > %
| > | Re,
| > |
| > | Je cherche mais sans vraiment de résultat... :-(
| > | Voici ci-dessous un bout de code dans lequel j'essaie d'inserer mon
| code.
| > | Le code est en erreur è la ligne Set frm où je veux passer le nom de
mon
| > | sous-formulaire
| > | Une idée ??
| > |
| > | Merci
| > |
| > | Public Function AjoutCode(ctlcode As String)
| > | Dim mdl As Module
| > | Dim frm As Form
| > | Dim lngRetour As Long
| > |
| > | On Error GoTo AjoutCode_Error
| > | Set frm = "sfrmHoraire" ??????????????
| > |
| > | Set mdl = frm.Module
| > | lngRetour = mdl.CreateEventProc("GotFocus", combo_0)
| > | mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"" "
| > |
| > | On Error GoTo 0
| > | Exit Function
| > |
| > | AjoutCode_Error:
| > |
| > | MsgBox "Error " & Err.Number & " (" & Err.Description & ") in
| procedure
| > | AjoutCode of Module modAjoutCtl"
| > |
| > | End Function
| > |
| >
| >
|
|




Jacques \(BE\)
Le #6313121
Bonjour,

J'ai tester l'exemple se trouvant dans l'aide VBA d'Access mais j'ai le même
résultat
...
"Impossible d,entrer en mode arrêt maintenant"
...
Jacques

"Jacques (BE)" news:
Re bonjour,

L'erreur semble ne plus se produire par contre j,ai un autre message
"Impossible d,entrer en mode arrêt maintenant"

si je clique sur "Continuer" , j'ai un autre message
"Erreur 2450 impossible de trouver le formulaire sfrmHoraire auquel il est
fait référence..."

La fonction s'écrit malgré tout ainsi que le Msgbox dans le formulaire


Merci de votre aide

Jacques


"Raymond [mvp]" message

de news:
Bonjour.

je ne voudrais pas entrer dans le vif du sujet car je n'ai rien compris
au

pourquoi du comment de la chose.
pour la procédure, voici un exemple de code simple pour créer un module,
à


toi de le compléter avec la gestion des erreurs, le passage des
paramètres


etc...

Dim mdl As Module
Dim frm As Form
Dim lngRetour As Long
DoCmd.OpenForm "sfrmHoraire", acDesign, , , , acHidden
Set frm = Forms("sfrmHoraire")
Set mdl = frm.Module
lngRetour = mdl.CreateEventProc("GotFocus", "combo_0")
mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"""
DoCmd.Close acForm, "sfrmHoraire", acSaveYes

pour créer du code, il faut que le formulaire soit ouvert en mode
Design.


--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances



http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99



"Jacques" %
| Re,
|
| Je cherche mais sans vraiment de résultat... :-(
| Voici ci-dessous un bout de code dans lequel j'essaie d'inserer mon
code.

| Le code est en erreur è la ligne Set frm où je veux passer le nom de
mon


| sous-formulaire
| Une idée ??
|
| Merci
|
| Public Function AjoutCode(ctlcode As String)
| Dim mdl As Module
| Dim frm As Form
| Dim lngRetour As Long
|
| On Error GoTo AjoutCode_Error
| Set frm = "sfrmHoraire" ??????????????
|
| Set mdl = frm.Module
| lngRetour = mdl.CreateEventProc("GotFocus", combo_0)
| mdl.InsertLines lngRetour + 1, vbTab & "Msgbox ""CA marche"" "
|
| On Error GoTo 0
| Exit Function
|
| AjoutCode_Error:
|
| MsgBox "Error " & Err.Number & " (" & Err.Description & ") in
procedure

| AjoutCode of Module modAjoutCtl"
|
| End Function
|








Raymond [mvp]
Le #6313111
c'est bien un sous-formulaire ? est-il chargé quand tu fais le design ?
normalement il ne devrait pas être chargé pour que ça fonctionne.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j’en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Jacques (BE)" %
| Bonjour,
|
| oui, c'est bien le nom ... :-(
|
| Jacques
|
Publicité
Poster une réponse
Anonyme