OVH Cloud OVH Cloud

N° colonne Champ

16 réponses
Avatar
Sergio
Salut

Je me demande comment utiliser le numéro de colonne d'un champ au lieu
d'utiliser son nom ?

C'est surement très simple.

A+

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.

je pense que tu parles d'une zone de liste déroulante ou non ?

Me.Maliste.Column(n)

n démarrant à 0 . 0 = colonne 1.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Sergio" a écrit dans le message de
news:3fd99e75$0$6980$
Salut

Je me demande comment utiliser le numéro de colonne d'un champ au lieu
d'utiliser son nom ?

C'est surement très simple.

A+




Avatar
Pierre CFI [mvp]
bonjour
oui, mais dans quel contexte ???????????

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Sergio" a écrit dans le message de news: 3fd99e75$0$6980$
Salut

Je me demande comment utiliser le numéro de colonne d'un champ au lieu
d'utiliser son nom ?

C'est surement très simple.

A+




Avatar
Damien Mermoz
Salut,
"Sergio" a écrit dans le message news:
3fd99e75$0$6980$
Salut

Je me demande comment utiliser le numéro de colonne d'un champ au lieu
d'utiliser son nom ?




Dans le code c'est ça ??
Si oui, un exemple :
Private Sub Commande6_Click()
Dim db As DAO.Database
Dim tb As DAO.TableDef
Dim x As Integer

Set db = CurrentDb

Set tb = db.TableDefs("ta table")

For x = 0 To tb.Fields.Count - 1
MsgBox tb.Fields(x).Name
Next x
End Sub


End Sub

Avatar
Sergio
Et surtout, après, retrouver le nom du champ en fonction du numero de
champ.

"Sergio" a écrit dans le message de news:
3fd99e75$0$6980$
Salut

Je me demande comment utiliser le numéro de colonne d'un champ au lieu
d'utiliser son nom ?

C'est surement très simple.

A+




Avatar
Sergio
Et aussi comment retrouver un nom de champ d'après son N° de colonne !


"Sergio" a écrit dans le message de news:
3fd99e75$0$6980$
Salut

Je me demande comment utiliser le numéro de colonne d'un champ au lieu
d'utiliser son nom ?

C'est surement très simple.

A+




Avatar
Damien Mermoz
Attend t'es gentil mais on est 3 à avoir essayé de te répondre et
visiblement personne n'a compris ce que tu entends par n°de collonne d'un
champs. Est ce que c'est Raymond qui a vu juste à ta question ou moi ? Est
ce que tu es dans un code vba, dans un formulaire, une zone de liste
modifiable, une table ...etc bref c'est pas clair.

Reformule clairement ta question stp

A +
Damien.


"Sergio" a écrit dans le message news:
3fd9c1f5$0$6968$
Et aussi comment retrouver un nom de champ d'après son N° de colonne !


"Sergio" a écrit dans le message de news:
3fd99e75$0$6980$
Salut

Je me demande comment utiliser le numéro de colonne d'un champ au lieu
d'utiliser son nom ?

C'est surement très simple.

A+








Avatar
Sergio
J' espère que ce message ne va pas disparaître et réapparître plus tard.
Le contexte ?

Voila un bout de ce que j'éssaie...
xxxxxxxxxxxxxxxxxxxxxxxxxx
Dim chp As String
chp = "[Nouveau Dossier suivi]"
GoSub Comptage

Comptage:
For lign = -1 To 10

NB = DCount(chp, rqt, chp & "=" & lign)
vary(colchp, lign) = NB

etc...
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
et je voudrais remplacer dans "DCount" la variable chp (Nom de Champ) par
colchp = N° de colonne du champ.

A+
Sergio

"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
oui, mais dans quel contexte ???????????

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Sergio" a écrit dans le message de news:
3fd99e75$0$6980$

Salut

Je me demande comment utiliser le numéro de colonne d'un champ au lieu
d'utiliser son nom ?

C'est surement très simple.

A+








Avatar
Sergio
Ca y est me revoilà..
Impossible d' accéder aux news de chez moi avec libertysurf.
Si d'autres ont ce problème ça serait sympa de me le dire.
De plus de mon boulot, les message disparaissent puis réapparaissent plus
tard....
Je vais surement exorciser mon Ordi.
Et excusez pour les messages a répétition !

Damien, tu me parles de Raymond ou toi mais je ne trouve malheureusement
aucune des réponses dans la liste.
(Je pense que) je suis dans un code vba (une procedure qui se sert d'une
requête et qui recompte les valeurs des champs de la requête (une
cinquantaine de champs et un dizaine de valeurs par champ) j'aimerais ne pas
avoir à taper le nom du champ à chaque fois mais plutôt automatiser tout ça
acec des N° de colonne du champ.
Pour les valeur, elles sont imposées donc de -1 à +10 maxi.

Dans cette ligne:

NB = DCount(chp, rqt, chp & "=" & lign)
vary(colchp, lign) = NB

J'aimerais remplacer le nom de champ "chp" par le numéro de sa colonne, la
variable lign remplace déjà la valeur à compter.
"colchp" remplacerait le N° de colonne
OUF j'ai du mal à m'expliquer clairement mais je débute et je patauge pas
mal !

A Bientot

Sergio

"Damien Mermoz" a écrit dans le message de
news: #tqc$
Attend t'es gentil mais on est 3 à avoir essayé de te répondre et
visiblement personne n'a compris ce que tu entends par n°de collonne d'un
champs. Est ce que c'est Raymond qui a vu juste à ta question ou moi ? Est
ce que tu es dans un code vba, dans un formulaire, une zone de liste
modifiable, une table ...etc bref c'est pas clair.

Reformule clairement ta question stp

A +
Damien.


Avatar
Damien Mermoz
Salut,

bon d'abord connecte toi au serveur de news de ms pour consulter le ng.
news://msnews.microsoft.com

Pour ton problème, je crois que j'étais pas si loin la dernière fois mais ma
solution était pour les champs d'une table, voilà ce que je te propose :

Private Sub Commande26_Click()
Dim db As DAO.Database
Dim qd As DAO.QueryDef
Dim intest As Integer
Set db = CurrentDb
Set qd = db.QueryDefs("R_test")

'access numérote les champs à partir de 0
MsgBox "il y a " & DCount(qd.Fields(0).Name, qd.Name, qd.Fields(0).Name & " 2") & "qui correspondent à votre critère.'

End Sub

Voilà ce que j'ai testé qui fonctionne, donc t'a plus qu'à faire une boucle
pour passer en revue tous les champs de ta requête.
C'était laborieux mais ca va finir par marcher :)

A +
Damien.


"Sergio" a écrit dans le message news:
3fdd6e3f$0$6972$
Ca y est me revoilà..
Impossible d' accéder aux news de chez moi avec libertysurf.
Si d'autres ont ce problème ça serait sympa de me le dire.
De plus de mon boulot, les message disparaissent puis réapparaissent plus
tard....
Je vais surement exorciser mon Ordi.
Et excusez pour les messages a répétition !

Damien, tu me parles de Raymond ou toi mais je ne trouve malheureusement
aucune des réponses dans la liste.
(Je pense que) je suis dans un code vba (une procedure qui se sert d'une
requête et qui recompte les valeurs des champs de la requête (une
cinquantaine de champs et un dizaine de valeurs par champ) j'aimerais ne
pas

avoir à taper le nom du champ à chaque fois mais plutôt automatiser tout
ça

acec des N° de colonne du champ.
Pour les valeur, elles sont imposées donc de -1 à +10 maxi.

Dans cette ligne:

NB = DCount(chp, rqt, chp & "=" & lign)
vary(colchp, lign) = NB

J'aimerais remplacer le nom de champ "chp" par le numéro de sa colonne, la
variable lign remplace déjà la valeur à compter.
"colchp" remplacerait le N° de colonne
OUF j'ai du mal à m'expliquer clairement mais je débute et je patauge pas
mal !

A Bientot

Sergio




Avatar
Sergio
Salut
Je vais essayer l'adresse de news chez moi, merci.

J'ai éssayé ton petit programme mais l'instruction msgbox s'est collée en
rouge et je ne trouve pas la solution pour la faire marcher.
J'ai remplacé le nom de la requête par la mienne mais pour la fonction
DCount (je suppose que le problème vient de là) je ne comprends pas tout,
alors pour le faire marcher, dur-dur.

A+
Sergio

"Damien Mermoz" a écrit dans le message de
news:
Salut,

bon d'abord connecte toi au serveur de news de ms pour consulter le ng.
news://msnews.microsoft.com

Pour ton problème, je crois que j'étais pas si loin la dernière fois mais
ma

solution était pour les champs d'une table, voilà ce que je te propose :

Private Sub Commande26_Click()
Dim db As DAO.Database
Dim qd As DAO.QueryDef
Dim intest As Integer
Set db = CurrentDb
Set qd = db.QueryDefs("R_test")

'access numérote les champs à partir de 0
MsgBox "il y a " & DCount(qd.Fields(0).Name, qd.Name, qd.Fields(0).Name &
" > 2") & "qui correspondent à votre critère.'


End Sub

Voilà ce que j'ai testé qui fonctionne, donc t'a plus qu'à faire une
boucle

pour passer en revue tous les champs de ta requête.
C'était laborieux mais ca va finir par marcher :)

A +
Damien.


1 2