Help Me (VBA)

tasmo23 Messages postés 3 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 17 juillet 2008 - 4 janv. 2008 à 08:58
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 - 4 janv. 2008 à 16:27
Bonjour all,





Voilà je suis apprenti en BTS IRIS, et j'ai un problème de compréhention sur une base de données à mon taff.
Je vous sollicite car VBA, je conné pas (il préfère qu'on plonge dans le C et C++, éducation national...) et je comprend pas tellement un code (sur click) d'un bouton.
Donc mon souci c'est un formulaire (F_RGP_Planning) un planning ou sur celui-ci un bouton permet d'ouvrir un sous-formulaire.

Private Sub Commande155_Click()
On Error GoTo Err_Commande155_Click


    Dim stDocName As String
    Dim stLinkCriteria As String


    stDocName = "SF_Check_Comparaison"
   
    stLinkCriteria = "[N°OF]=" & Me![IDLIGNE_CDE]
    DoCmd.OpenForm stDocName, , , stLinkCriteria


Exit_Commande155_Click:
    Exit Sub


Err_Commande155_Click:
    MsgBox Err.Description
    Resume Exit_Commande155_Click
   
End Sub

'  SF_Check_Comparaison = sous-formulaire à ouvrir
'  N°OF et IDLIGNE_CDE = correspond à un numéro d'ordre de fabrication logiquement identique
'  IDLIGNE_CDE = champ N°OF sur le planning
'  N°OF = champ N° OF sur le sous-formulaire contrôle d'OF

Mon problème est que le formulaire s'ouvre mais vide alors qu'il devrait afficher la gamme correspondant au N°OF.
Pouvez vous m'expliquer brievement cette ligne:

    stLinkCriteria = "[N°OF]=" & Me![IDLIGNE_CDE]

En vous remerciants
Have a good day.
tAsMo.



Tell me nOt it is nOt True?

2 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 janv. 2008 à 11:01
salut,

comme c'est écrit : stLinkCriteria = "[N°OF]=" & Me![IDLIGNE_CDE]
la variable chaîne stLinkCriteria va recevoir la chaîne [N°OF], suivie du signe = sous forme de chaine, suivie de la valeur de l'objet (surement une txtbox) IDLIGNE_CDE

le problème vient surement du début, à savoir que  N°OF étant entre quotes, c'est une chaîne et non aussi un objet
je ne fais pas de VBA.....
çà serait peut-être :
stLinkCriteria = SF_Check_Comparaison![N°OF] & "=" & Me![IDLIGNE_CDE]

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
4 janv. 2008 à 16:27
Bonjour,

Difficile effectivement d'analysé le code, assez obscure... Je suis du même avis de PCPT, le problème se situe sur les deux lignes :


    stLinkCriteria = "[N°OF]=" & Me![IDLIGNE_CDE]
    DoCmd.OpenForm stDocName, , , stLinkCriteria

Plusieurs choses : DoCmd n'est pas une fonction native du VBA, mais une fonction programmé. Donc, il faudrait analyser cette dernière pour savoir quelle forme stLinkCriteria doit recevoir. Puis, donc voir si stLinkCriteria, est correct.

Pour stLinkCriteria : ![IDLIGNE_CDE] me fait penser à une référence nommée. Mais ce qui m'interpelle le plus c'est "Me"... car normalement stLinkCriteria doit être une String pour le nom d'une feuille, or ici "Me" semble être utilisé comme le mot clé "Me" du VB... ce qui aurait un sens si on veut faire référence à la feuille active, mais faux en terme de programmation...

Amicalement,
Us.
0
Rejoignez-nous