Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/12/2010, 12h53   #1
Membre éclairé
 
Avatar de Nako_lito
 
Développeur .NET
Inscription : mai 2008
Messages : 561
Détails du profil
Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : mai 2008
Messages : 561
Points : 390
Points : 390
Par défaut Query def sur intitulé de champs

Bonjour,

Dans le code d'un formulaire, j'essaye de changer l'intitulé d'une colonne en code VBA a l'aide d'un query def.

(le but est de remplir toute la colonne de ce tableau avec une même valeur)

voici le code :

Code :
1
2
3
4
5
6
7
    'création de l'objet query def
    Dim Qry As DAO.QueryDef
'initialisation de query def sur la requete "PERCO_Generique"
    Set Qry = CurrentDb.QueryDefs!PERCO_Generique
 
'affecte la valeur du champs du code dispositif sur la requete
        Qry.Fields("Code dispositif: %") = "Code dispositif: " & leCodeDispo
L'intitulé de colonne dans ma requête est : Code dispositif : 0000064936, mais la valeur apres les deux points change (d'ou le %).

Là est ma question, comment dois-je synthaxer ma ligne de code pour que VBA comprenne que je veux changer l'intitulé de colonne ? est ce qu'il faut utiliser %, *, mettre des crochet ou autre ?

je vous remercie par avance.
__________________
- La dernière fois que j'ai testé ca fonctionnait !
- Vous n'avez rien modifié ?
- Non ! Je suis pas idiot non plus.
- ....
- Enfin si, juste le fichier .dll, mais a 4Ko, ca devait pas être important.
Nako_lito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 13h09   #2
Membre Expert
 
Inscription : janvier 2006
Messages : 1 111
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 1 111
Points : 1 093
Points : 1 093
Bonjour,
Citation:
Dans le code d'un formulaire, j'essaye de changer l'intitulé d'une colonne en code VBA a l'aide d'un query def.

(le but est de remplir toute la colonne de ce tableau avec une même valeur)
Tu veux changer l'intitulé du champ ou alimenter le champ avec une valeur spécifique ?
__________________
[Access] Les bases du débogage => ici
Kloun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 14h27   #3
Membre éclairé
 
Avatar de Nako_lito
 
Développeur .NET
Inscription : mai 2008
Messages : 561
Détails du profil
Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : mai 2008
Messages : 561
Points : 390
Points : 390
quand on créé un requete avec l'assistant d'access, on a la possibilité de rajouter un champ avec une valeur fixe: ex: Code dispo : 000565656
et quand on exécutera la requete, il y aura une colonne intitulée : Code dispo, et elle sera remplie avec la valeur 000565656

Donc mon but est de remplir une colonne avec une valeur fixe.
__________________
- La dernière fois que j'ai testé ca fonctionnait !
- Vous n'avez rien modifié ?
- Non ! Je suis pas idiot non plus.
- ....
- Enfin si, juste le fichier .dll, mais a 4Ko, ca devait pas être important.
Nako_lito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 14h56   #4
Membre Expert
 
Inscription : janvier 2006
Messages : 1 111
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 1 111
Points : 1 093
Points : 1 093
- Récupérer le SQL de la requête.
ex : select toto as CodeDispositif
- Remplacer "toto as CodeDispositif" par "'0000064936' as Code dispositif"
- Sauver la requête avec le nouveau SQL, sous un autre nom.
__________________
[Access] Les bases du débogage => ici
Kloun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 15h10   #5
Membre éclairé
 
Avatar de Nako_lito
 
Développeur .NET
Inscription : mai 2008
Messages : 561
Détails du profil
Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : mai 2008
Messages : 561
Points : 390
Points : 390
Ca ok. Pour remplir une colonne avec une meme valeur c'est bien
'000066458' as [Code Dispositif].

ce que je ne sais pas faire en vba c'est: trouver le champs [Code dispositif] et lui affecter une valeur.

Code :
Qry.Fields("Code dispositif: %") = "Code dispositif: " & leCodeDispo
quand je mets ce code, il cherche un champs s'appelant "Code dispositif" suivit de qqc. Or si je comprend bien, mon champs ne s'appele pas "Code dispositif" mais "0000066458" ? il faut donc que je cherche un champs commencant par "0000" et suivit par un chiffre pour lui attribuer une nouvelle valeur ?
__________________
- La dernière fois que j'ai testé ca fonctionnait !
- Vous n'avez rien modifié ?
- Non ! Je suis pas idiot non plus.
- ....
- Enfin si, juste le fichier .dll, mais a 4Ko, ca devait pas être important.
Nako_lito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 15h43   #6
Membre Expert
 
Inscription : janvier 2006
Messages : 1 111
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 1 111
Points : 1 093
Points : 1 093
Code :
1
2
3
4
5
6
7
8
'création de l'objet query def
Dim Qry As DAO.QueryDef
Dim iSQL as string
'initialisation de query def sur la requete "PERCO_Generique"
    Set Qry = CurrentDb.QueryDefs!PERCO_Generique
    iSQL = Qry.SQL
    ' Là, il faut travailler iSQL pour trouver/remplacer la chaîne qui va bien
    'puis créer une nouvelle requête dont le SQL est iSQL modifié
__________________
[Access] Les bases du débogage => ici
Kloun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 16h23   #7
Membre éclairé
 
Avatar de Nako_lito
 
Développeur .NET
Inscription : mai 2008
Messages : 561
Détails du profil
Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : mai 2008
Messages : 561
Points : 390
Points : 390
J'ai trouvé ma solution :
ce que Kloun a dit. J'ai récup le SQL et j'ai changé les champs par mes variables.

Merci !
__________________
- La dernière fois que j'ai testé ca fonctionnait !
- Vous n'avez rien modifié ?
- Non ! Je suis pas idiot non plus.
- ....
- Enfin si, juste le fichier .dll, mais a 4Ko, ca devait pas être important.
Nako_lito est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h41.


 
 
 
 
Partenaires

Hébergement Web