A voir également:
- [ACCESS] Probleme formulaire ajout dynamique
- Tableau croisé dynamique - Guide
- Formulaire de réclamation facebook - Guide
- Liste déroulante dynamique excel - Guide
- Impossible d'afficher le rapport de tableau croisé dynamique sur un rapport existant ✓ - Forum Excel
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
6 réponses
zenon
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
180
9 nov. 2006 à 23:17
9 nov. 2006 à 23:17
Bonsoir,
J'imagine que tu as vérifié dans l'aide.
Il me semble que dans le code donné plus haut, il manque les données d'emplacement et de taille du contrôle. Je cite l'aide:
Exemple de méthodes CreateControl et CreateReportControl
L'exemple suivant montre comment créer dans un premier temps un nouveau formulaire basé sur la table Commandes, puis utiliser la méthode CreateControl pour créer un contrôle de zone de texte et un contrôle d'étiquette liée dans le formulaire.
Sub NouveauxContrôles()
Dim frm As Form
Dim ctlÉtiquette As Control, ctlTexte As Control
Dim entDonnéeX As Integer, entDonnéeY As Integer
Dim entÉtiquetteX As Integer, entÉtiquetteY As Integer
' Crée un nouveau formulaire avec comme source des enregistrements la table Commandes.
Set frm = CreateForm
frm.RecordSource = "Commandes"
' Définit les valeurs de position pour les nouveaux contrôles.
entÉtiquetteX = 100
entÉtiquetteY = 100
entDonnéeX = 1000
entDonnéeY = 100
' Crée une zone de texte indépendante avec une taille par défaut dans la section Détail.
Set ctlTexte = CreateControl(frm.Name, acTextBox, , "", "", _
entDonnéeX, entDonnéeY)
' Crée un contrôle étiquette fils pour la zone de texte.
Set ctlÉtiquette = CreateControl(frm.Name, acLabel, , _
ctlTexte.Name, "Nouvelle étiquette", entÉtiquetteX, entÉtiquetteY)
' Restaure le formulaire.
DoCmd.Restore
End Sub
J'imagine que tu as vérifié dans l'aide.
Il me semble que dans le code donné plus haut, il manque les données d'emplacement et de taille du contrôle. Je cite l'aide:
Exemple de méthodes CreateControl et CreateReportControl
L'exemple suivant montre comment créer dans un premier temps un nouveau formulaire basé sur la table Commandes, puis utiliser la méthode CreateControl pour créer un contrôle de zone de texte et un contrôle d'étiquette liée dans le formulaire.
Sub NouveauxContrôles()
Dim frm As Form
Dim ctlÉtiquette As Control, ctlTexte As Control
Dim entDonnéeX As Integer, entDonnéeY As Integer
Dim entÉtiquetteX As Integer, entÉtiquetteY As Integer
' Crée un nouveau formulaire avec comme source des enregistrements la table Commandes.
Set frm = CreateForm
frm.RecordSource = "Commandes"
' Définit les valeurs de position pour les nouveaux contrôles.
entÉtiquetteX = 100
entÉtiquetteY = 100
entDonnéeX = 1000
entDonnéeY = 100
' Crée une zone de texte indépendante avec une taille par défaut dans la section Détail.
Set ctlTexte = CreateControl(frm.Name, acTextBox, , "", "", _
entDonnéeX, entDonnéeY)
' Crée un contrôle étiquette fils pour la zone de texte.
Set ctlÉtiquette = CreateControl(frm.Name, acLabel, , _
ctlTexte.Name, "Nouvelle étiquette", entÉtiquetteX, entÉtiquetteY)
' Restaure le formulaire.
DoCmd.Restore
End Sub
je suis dans le même cas que toi es que tu as réussi a résoudre ce probleme depuis le 05/09 ou es tu encore bloqué ?
parce que si tu as réussi ça m'interesse grandement
parce que si tu as réussi ça m'interesse grandement
zenon
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
180
10 nov. 2006 à 09:07
10 nov. 2006 à 09:07
Donne, si tu veux, le code que tu utilises.
Je ne suis pas un spécialiste mais on peut espérer que Blux passe par là...
Je ne suis pas un spécialiste mais on peut espérer que Blux passe par là...
DoCmd.Close acForm, "formulaire de saisie" afficher_zone_saisie("formulaire de saisie") DoCmd.OpenForm "formulaire de saisie"
la procedure afficher_zone_saisie fonctionne, elle ouvre le formulaire : formulaire de saisie en mode création et ajoute une textbox...
ensuite elle le referme en le sauvegardant.
zenon
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
180
10 nov. 2006 à 13:19
10 nov. 2006 à 13:19
Je ne pense pas qu'Access reconnaisse:
afficher_zone_saisie("formulaire de saisie")
D'autre part, si les noms de tes objets comportent des espaces, tu dois les entourer de crochets ( [] )
afficher_zone_saisie("formulaire de saisie")
D'autre part, si les noms de tes objets comportent des espaces, tu dois les entourer de crochets ( [] )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
blux
Messages postés
26730
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
20 mars 2025
3 332
10 nov. 2006 à 13:57
10 nov. 2006 à 13:57
Salut,
je passe par là...
Mais je ne suis pas spécialiste des ajouts 'à la volée'...
Cependant, je ne vois nulle part le nom du contrôle à rajouter, cela expliquerait peut-être le message d'erreur ?
Tu peux nous mettre ton code in extenso, STP ?
je passe par là...
Mais je ne suis pas spécialiste des ajouts 'à la volée'...
Cependant, je ne vois nulle part le nom du contrôle à rajouter, cela expliquerait peut-être le message d'erreur ?
Tu peux nous mettre ton code in extenso, STP ?
Set controle(i) = CreateControl(nom_form, acLabel) controle(i).Name = "TXT_lieux_" & tablieux(curslieux) controle(i).Left = (i - j) * 1150 + 5100 controle(i).Top = 600 controle(i).Width = 1000 controle(i).Height = 250 controle(i).BackColor = "14742270" controle(i).SpecialEffect = 0 controle(i).BackStyle = 0 controle(i).Caption = rs_afficher!nom curslieux = curslieux + 1 i = i + 1
en gros c'est ça j'ai pas mal de code avant parce que je gère d'autre truc dans cette procedure mais ça me le crée bien, cette precedure me crée comme il se doit ma zone de texte le seul probleme est que si je l'appel depuis le formulaire ou elle doit créée cette zone de texte ça plante
meme si je ferme d'abord le formulaire avant de le réouvrir en mode création pour réaliser la modif, le refermer et le sauvegarder pour le réouvrir en mode normal ...
je me suis planter sur le code ,
j'ai mis l'entete...
celui de la zone de texte c'est :
mais ça revient au meme puisque je crée les deux en meme temps...
j'ai mis l'entete...
celui de la zone de texte c'est :
Set controle2(i) = CreateControl(nom_form, acTextBox) controle2(i).Name = x & "-" & y controle2(i).Left = x * 1150 + 5100 controle2(i).Top = 300 * (y) + 1000 controle2(i).Width = 1150 controle2(i).Height = 200 controle2(i).BackColor = "14742270" controle2(i).SpecialEffect = 0 controle2(i).BackStyle = 0 i = i + 1
mais ça revient au meme puisque je crée les deux en meme temps...
blux
Messages postés
26730
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
20 mars 2025
3 332
10 nov. 2006 à 14:44
10 nov. 2006 à 14:44
T'as essayé avec le formulaire fermé carrément ?
10 nov. 2006 à 08:03