Bonsoir
Sur un formulaire j'ai 25 objets textBox Nommés Champ1, Champ2...
Voila je sais plus si on peut faire un truc du genre
For i = 1 to 25
Set MonObjet = "Champ" & trim(i)
MonObjet .text= str(i)
MonObjet = nothing
Next
Mais...ça marche pas il doit manquer qq chose
Je sais on peut passer par un groupe d'objet mais en fait ils s'appellent
SaisieNom, SaisiePrenom... comme les champs de ma base de données...
Et comme je suis un peu faineant j'ai pas envie de taper 25 fois
SaisieNom.text = MonDATA.recordset.fields("Nom")
Je me disais aussi que ça serai peut etre plus joli comme ça (à moins que ce
soit au detriment des performances de l'appli)
Peut on déclarer un objet avec pour nom : le contenu d'une variable ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Clive Lumb
mbfac wrote:
Bonsoir Sur un formulaire j'ai 25 objets textBox Nommés Champ1, Champ2... Voila je sais plus si on peut faire un truc du genre
For i = 1 to 25 Set MonObjet = "Champ" & trim(i) MonObjet .text= str(i) MonObjet = nothing Next
Mais...ça marche pas il doit manquer qq chose
Je sais on peut passer par un groupe d'objet mais en fait ils s'appellent SaisieNom, SaisiePrenom... comme les champs de ma base de données... Et comme je suis un peu faineant j'ai pas envie de taper 25 fois SaisieNom.text = MonDATA.recordset.fields("Nom") Je me disais aussi que ça serai peut etre plus joli comme ça (à moins que ce soit au detriment des performances de l'appli) Peut on déclarer un objet avec pour nom : le contenu d'une variable ?
Merci
Michel
Devant le même problème j'ai utilisé la méthode suivant. Récuperer les noms des champs de bdd dans un tableau Parcourir ce tableau nom par nom et chercher ce nom dans Form.controls(index).name
mbfac wrote:
Bonsoir
Sur un formulaire j'ai 25 objets textBox Nommés Champ1, Champ2...
Voila je sais plus si on peut faire un truc du genre
For i = 1 to 25
Set MonObjet = "Champ" & trim(i)
MonObjet .text= str(i)
MonObjet = nothing
Next
Mais...ça marche pas il doit manquer qq chose
Je sais on peut passer par un groupe d'objet mais en fait ils
s'appellent SaisieNom, SaisiePrenom... comme les champs de ma base de
données...
Et comme je suis un peu faineant j'ai pas envie de taper 25 fois
SaisieNom.text = MonDATA.recordset.fields("Nom")
Je me disais aussi que ça serai peut etre plus joli comme ça (à moins
que ce soit au detriment des performances de l'appli)
Peut on déclarer un objet avec pour nom : le contenu d'une variable ?
Merci
Michel
Devant le même problème j'ai utilisé la méthode suivant.
Récuperer les noms des champs de bdd dans un tableau
Parcourir ce tableau nom par nom et chercher ce nom dans
Form.controls(index).name
Bonsoir Sur un formulaire j'ai 25 objets textBox Nommés Champ1, Champ2... Voila je sais plus si on peut faire un truc du genre
For i = 1 to 25 Set MonObjet = "Champ" & trim(i) MonObjet .text= str(i) MonObjet = nothing Next
Mais...ça marche pas il doit manquer qq chose
Je sais on peut passer par un groupe d'objet mais en fait ils s'appellent SaisieNom, SaisiePrenom... comme les champs de ma base de données... Et comme je suis un peu faineant j'ai pas envie de taper 25 fois SaisieNom.text = MonDATA.recordset.fields("Nom") Je me disais aussi que ça serai peut etre plus joli comme ça (à moins que ce soit au detriment des performances de l'appli) Peut on déclarer un objet avec pour nom : le contenu d'une variable ?
Merci
Michel
Devant le même problème j'ai utilisé la méthode suivant. Récuperer les noms des champs de bdd dans un tableau Parcourir ce tableau nom par nom et chercher ce nom dans Form.controls(index).name
X
Bonsoir,
Pourquoi ne pas indicier les textBox(index), ça serait plus pratique, non ???
--------------
"mbfac" a écrit dans le message de news: droak5$par$
Bonsoir Sur un formulaire j'ai 25 objets textBox Nommés Champ1, Champ2... Voila je sais plus si on peut faire un truc du genre
For i = 1 to 25 Set MonObjet = "Champ" & trim(i) MonObjet .text= str(i) MonObjet = nothing Next
Mais...ça marche pas il doit manquer qq chose
Je sais on peut passer par un groupe d'objet mais en fait ils s'appellent SaisieNom, SaisiePrenom... comme les champs de ma base de données... Et comme je suis un peu faineant j'ai pas envie de taper 25 fois SaisieNom.text = MonDATA.recordset.fields("Nom") Je me disais aussi que ça serai peut etre plus joli comme ça (à moins que ce soit au detriment des performances de l'appli) Peut on déclarer un objet avec pour nom : le contenu d'une variable ?
Merci
Michel
Bonsoir,
Pourquoi ne pas indicier les textBox(index), ça serait plus pratique,
non ???
--------------
"mbfac" <mbfac.enlever@oter.free.fr> a écrit dans le message de news:
droak5$par$1@news.tiscali.fr...
Bonsoir
Sur un formulaire j'ai 25 objets textBox Nommés Champ1, Champ2...
Voila je sais plus si on peut faire un truc du genre
For i = 1 to 25
Set MonObjet = "Champ" & trim(i)
MonObjet .text= str(i)
MonObjet = nothing
Next
Mais...ça marche pas il doit manquer qq chose
Je sais on peut passer par un groupe d'objet mais en fait ils s'appellent
SaisieNom, SaisiePrenom... comme les champs de ma base de données...
Et comme je suis un peu faineant j'ai pas envie de taper 25 fois
SaisieNom.text = MonDATA.recordset.fields("Nom")
Je me disais aussi que ça serai peut etre plus joli comme ça (à moins que
ce soit au detriment des performances de l'appli)
Peut on déclarer un objet avec pour nom : le contenu d'une variable ?
Pourquoi ne pas indicier les textBox(index), ça serait plus pratique, non ???
--------------
"mbfac" a écrit dans le message de news: droak5$par$
Bonsoir Sur un formulaire j'ai 25 objets textBox Nommés Champ1, Champ2... Voila je sais plus si on peut faire un truc du genre
For i = 1 to 25 Set MonObjet = "Champ" & trim(i) MonObjet .text= str(i) MonObjet = nothing Next
Mais...ça marche pas il doit manquer qq chose
Je sais on peut passer par un groupe d'objet mais en fait ils s'appellent SaisieNom, SaisiePrenom... comme les champs de ma base de données... Et comme je suis un peu faineant j'ai pas envie de taper 25 fois SaisieNom.text = MonDATA.recordset.fields("Nom") Je me disais aussi que ça serai peut etre plus joli comme ça (à moins que ce soit au detriment des performances de l'appli) Peut on déclarer un objet avec pour nom : le contenu d'une variable ?
Merci
Michel
Fred
Dans : news:droak5$par$, mbfac disait :
Bonsoir Sur un formulaire j'ai 25 objets textBox Nommés Champ1, Champ2... Voila je sais plus si on peut faire un truc du genre
For i = 1 to 25 Set MonObjet = "Champ" & trim(i) MonObjet .text= str(i) MonObjet = nothing Next
Mais...ça marche pas il doit manquer qq chose
Bonsoir,
Teste ces deux petits bouts de code et vois ce que tu peux en faire (seul prérequis : un textbox nommé Text1 sur la feuille)
'Enumérer les noms de tous les contrôles de la feuille Dim c As Control For Each c In Form1.Controls MsgBox c.Name Next
'Récupérer un contrôle par son nom 'On peut aussi déclarer t comme Control Dim t As TextBox Set t = Form1.Controls("Text1") t.Text = "Ça marche"
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Dans : news:droak5$par$1@news.tiscali.fr,
mbfac disait :
Bonsoir
Sur un formulaire j'ai 25 objets textBox Nommés Champ1, Champ2...
Voila je sais plus si on peut faire un truc du genre
For i = 1 to 25
Set MonObjet = "Champ" & trim(i)
MonObjet .text= str(i)
MonObjet = nothing
Next
Mais...ça marche pas il doit manquer qq chose
Bonsoir,
Teste ces deux petits bouts de code et vois ce que tu peux en faire
(seul prérequis : un textbox nommé Text1 sur la feuille)
'Enumérer les noms de tous les contrôles de la feuille
Dim c As Control
For Each c In Form1.Controls
MsgBox c.Name
Next
'Récupérer un contrôle par son nom
'On peut aussi déclarer t comme Control
Dim t As TextBox
Set t = Form1.Controls("Text1")
t.Text = "Ça marche"
Bonsoir Sur un formulaire j'ai 25 objets textBox Nommés Champ1, Champ2... Voila je sais plus si on peut faire un truc du genre
For i = 1 to 25 Set MonObjet = "Champ" & trim(i) MonObjet .text= str(i) MonObjet = nothing Next
Mais...ça marche pas il doit manquer qq chose
Bonsoir,
Teste ces deux petits bouts de code et vois ce que tu peux en faire (seul prérequis : un textbox nommé Text1 sur la feuille)
'Enumérer les noms de tous les contrôles de la feuille Dim c As Control For Each c In Form1.Controls MsgBox c.Name Next
'Récupérer un contrôle par son nom 'On peut aussi déclarer t comme Control Dim t As TextBox Set t = Form1.Controls("Text1") t.Text = "Ça marche"
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
mbfac
Bonsoir,
Bonsoir,
Pourquoi ne pas indicier les textBox(index), ça serait plus pratique, non ???
Certes.. mais aprés quand tu reprends l'appli derriere, t'es super content d'avoir SaisieNom.text que text(23).text dans le code, meme si t'as passé trois plombes à le taper Je sais c'est du long terme et c'est pas la mode :-(
Cordialement
Michel BERTRAND
Bonsoir,
Bonsoir,
Pourquoi ne pas indicier les textBox(index), ça serait plus pratique,
non ???
Certes.. mais aprés quand tu reprends l'appli derriere, t'es super content
d'avoir SaisieNom.text que text(23).text dans le code, meme si t'as passé
trois plombes à le taper
Je sais c'est du long terme et c'est pas la mode :-(
Pourquoi ne pas indicier les textBox(index), ça serait plus pratique, non ???
Certes.. mais aprés quand tu reprends l'appli derriere, t'es super content d'avoir SaisieNom.text que text(23).text dans le code, meme si t'as passé trois plombes à le taper Je sais c'est du long terme et c'est pas la mode :-(
Cordialement
Michel BERTRAND
mbfac
Bonsoir
Merci ! l'idée est bonne ,mais si je dois faire une boucle sur tout les controles verifier qu'il commence bien par Saisie ça va nuire aux performances comme on dit... Et comme la propriété name est en lecture seule, ça va pas le faire.
Merci quand meme je vais faire des copier/coller :-(
Bonne Nuit
Michel
Bonsoir
Merci ! l'idée est bonne ,mais si je dois faire une boucle sur tout les
controles verifier qu'il commence bien par Saisie
ça va nuire aux performances comme on dit...
Et comme la propriété name est en lecture seule, ça va pas le faire.
Merci quand meme
je vais faire des copier/coller :-(
Merci ! l'idée est bonne ,mais si je dois faire une boucle sur tout les controles verifier qu'il commence bien par Saisie ça va nuire aux performances comme on dit... Et comme la propriété name est en lecture seule, ça va pas le faire.
Merci quand meme je vais faire des copier/coller :-(
Bonne Nuit
Michel
mbfac
Re-Bonsoir
D'idées en idées...DEBUG.PRINT !
Private Sub Command5_Click() For i = 0 To DataClient.Recordset.Fields.Count - 1 Debug.Print "Saisie" & Trim(DataClient.Recordset.Fields(i).Name) & ".Text = DataClient.Recordset.Fields(""" & DataClient.Recordset.Fields(i).Name & """)" Next End Sub
un Grand copier/coller ;-)))
Re Bonne Nuit
Re-Bonsoir
D'idées en idées...DEBUG.PRINT !
Private Sub Command5_Click()
For i = 0 To DataClient.Recordset.Fields.Count - 1
Debug.Print "Saisie" & Trim(DataClient.Recordset.Fields(i).Name) & ".Text =
DataClient.Recordset.Fields(""" & DataClient.Recordset.Fields(i).Name &
""")"
Next
End Sub
Private Sub Command5_Click() For i = 0 To DataClient.Recordset.Fields.Count - 1 Debug.Print "Saisie" & Trim(DataClient.Recordset.Fields(i).Name) & ".Text = DataClient.Recordset.Fields(""" & DataClient.Recordset.Fields(i).Name & """)" Next End Sub
un Grand copier/coller ;-)))
Re Bonne Nuit
X
Bonsoir,
Ah non, avant je mettais des noms, puis j'ai arrêté car en fait, noms ou pas, trois ans plus tard tu ne sais plus tellement ce que ça veut dire... En plus les exemples sont en quasi totalité donnés avec les noms de base (bouton = command) par exemple, alors ce n'est pas si mal que tout le monde appel son bouton pareil, bien que, en la matière c'est un choix personnel, et certains donnent des noms... On retrouve pas plus difficilement sans donner de nom, au contraire, quand tu appelles un objet "truc", nul ne sait ce que c'est comme objet, alors que command1, tout le monde le sait! On utilise (ce que je fais), un petit commentaire pour indiquer ce que l'objet fait, mais je crois qu'on retrouve plus vite la fonction lato sensu d'un objet command1 que d'un objet "truc", à toi de voir... In fine, tu parles de long terme, et de base de données, euphémisme, les moteurs s'ils ne sont pas mis à jour régulièrement plante assez souvent, pour du long terme les fichier à la main c'est mieux. Bref, j'aurais utilisé une boucle... c'est toi qui vois :o)
-----------------
"mbfac" a écrit dans le message de news: droos7$b9u$
Bonsoir,
Bonsoir,
Pourquoi ne pas indicier les textBox(index), ça serait plus pratique, non ???
Certes.. mais aprés quand tu reprends l'appli derriere, t'es super content d'avoir SaisieNom.text que text(23).text dans le code, meme si t'as passé trois plombes à le taper Je sais c'est du long terme et c'est pas la mode :-(
Cordialement
Michel BERTRAND
Bonsoir,
Ah non, avant je mettais des noms, puis j'ai arrêté car en fait, noms ou
pas, trois ans plus tard tu ne sais plus tellement ce que ça veut dire...
En plus les exemples sont en quasi totalité donnés avec les noms de base
(bouton = command) par exemple, alors ce n'est pas si mal que tout le monde
appel son bouton pareil, bien que, en la matière c'est un choix personnel,
et certains donnent des noms...
On retrouve pas plus difficilement sans donner de nom, au contraire, quand
tu appelles un objet "truc", nul ne sait ce que c'est comme objet, alors que
command1, tout le monde le sait!
On utilise (ce que je fais), un petit commentaire pour indiquer ce que
l'objet fait, mais je crois qu'on retrouve plus vite la fonction lato sensu
d'un objet command1 que d'un objet "truc", à toi de voir...
In fine, tu parles de long terme, et de base de données, euphémisme, les
moteurs s'ils ne sont pas mis à jour régulièrement plante assez souvent,
pour du long terme les fichier à la main c'est mieux.
Bref, j'aurais utilisé une boucle... c'est toi qui vois :o)
-----------------
"mbfac" <mbfac.enlever@oter.free.fr> a écrit dans le message de news:
droos7$b9u$1@news.tiscali.fr...
Bonsoir,
Bonsoir,
Pourquoi ne pas indicier les textBox(index), ça serait plus pratique,
non ???
Certes.. mais aprés quand tu reprends l'appli derriere, t'es super content
d'avoir SaisieNom.text que text(23).text dans le code, meme si t'as passé
trois plombes à le taper
Je sais c'est du long terme et c'est pas la mode :-(
Ah non, avant je mettais des noms, puis j'ai arrêté car en fait, noms ou pas, trois ans plus tard tu ne sais plus tellement ce que ça veut dire... En plus les exemples sont en quasi totalité donnés avec les noms de base (bouton = command) par exemple, alors ce n'est pas si mal que tout le monde appel son bouton pareil, bien que, en la matière c'est un choix personnel, et certains donnent des noms... On retrouve pas plus difficilement sans donner de nom, au contraire, quand tu appelles un objet "truc", nul ne sait ce que c'est comme objet, alors que command1, tout le monde le sait! On utilise (ce que je fais), un petit commentaire pour indiquer ce que l'objet fait, mais je crois qu'on retrouve plus vite la fonction lato sensu d'un objet command1 que d'un objet "truc", à toi de voir... In fine, tu parles de long terme, et de base de données, euphémisme, les moteurs s'ils ne sont pas mis à jour régulièrement plante assez souvent, pour du long terme les fichier à la main c'est mieux. Bref, j'aurais utilisé une boucle... c'est toi qui vois :o)
-----------------
"mbfac" a écrit dans le message de news: droos7$b9u$
Bonsoir,
Bonsoir,
Pourquoi ne pas indicier les textBox(index), ça serait plus pratique, non ???
Certes.. mais aprés quand tu reprends l'appli derriere, t'es super content d'avoir SaisieNom.text que text(23).text dans le code, meme si t'as passé trois plombes à le taper Je sais c'est du long terme et c'est pas la mode :-(
Cordialement
Michel BERTRAND
Fred
Dans : news:drop51$bk8$, mbfac disait :
Bonsoir
Bonjour,
Merci ! l'idée est bonne ,mais si je dois faire une boucle sur tout les controles verifier qu'il commence bien par Saisie
Pourquoi ? Et le deuxième exemple ?
Form1.Controls("Saisie" & partieVariable) te donne directement le contrôle. Avec «partieVariable» récupérée d'après les en-têtes de colonnes du recordset. Ou alors je n'ai pas bien saisi ce que tu veux.
ça va nuire aux performances comme on dit...
Mouais. C'est de l'interface ! À moins de tomber sur un qui clique plus vite que son ombre :-) De plus, tu ne sais pas trop comment vb6 gère tout cela sans te le dire ;-)
Enfin, je vois sur ton autre post que ton problème était plutôt d'écrire rapidement un code que de le rendre générique. Pas mal l'astuce du Debug.Print !
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Dans : news:drop51$bk8$1@news.tiscali.fr,
mbfac disait :
Bonsoir
Bonjour,
Merci ! l'idée est bonne ,mais si je dois faire une boucle sur tout
les controles verifier qu'il commence bien par Saisie
Pourquoi ? Et le deuxième exemple ?
Form1.Controls("Saisie" & partieVariable) te donne directement le
contrôle.
Avec «partieVariable» récupérée d'après les en-têtes de colonnes du
recordset.
Ou alors je n'ai pas bien saisi ce que tu veux.
ça va nuire aux performances comme on dit...
Mouais. C'est de l'interface ! À moins de tomber sur un qui clique plus
vite que son ombre :-)
De plus, tu ne sais pas trop comment vb6 gère tout cela sans te le dire
;-)
Enfin, je vois sur ton autre post que ton problème était plutôt d'écrire
rapidement un code que de le rendre générique.
Pas mal l'astuce du Debug.Print !
Merci ! l'idée est bonne ,mais si je dois faire une boucle sur tout les controles verifier qu'il commence bien par Saisie
Pourquoi ? Et le deuxième exemple ?
Form1.Controls("Saisie" & partieVariable) te donne directement le contrôle. Avec «partieVariable» récupérée d'après les en-têtes de colonnes du recordset. Ou alors je n'ai pas bien saisi ce que tu veux.
ça va nuire aux performances comme on dit...
Mouais. C'est de l'interface ! À moins de tomber sur un qui clique plus vite que son ombre :-) De plus, tu ne sais pas trop comment vb6 gère tout cela sans te le dire ;-)
Enfin, je vois sur ton autre post que ton problème était plutôt d'écrire rapidement un code que de le rendre générique. Pas mal l'astuce du Debug.Print !
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
mbfac
Bonjour
Form1.Controls("Saisie" & partieVariable) te donne directement le contrôle.
Mais oui ! que je suis bete ! Il était tard ...
Merci ça peut quand meme servir :-)
Cordialement
Michel BERTRAND
Bonjour
Form1.Controls("Saisie" & partieVariable) te donne directement le
contrôle.