Dans mon controle onglet, j'ai inseré un sous formulaire. Le meme sous
formulaire pour chaque onglet.
J'ai ecrit ce code :
Private Sub ongbudget_Change()
Dim SQLAL As String
Dim SQLAM As String
Dim SQLBD As String
If PageIndex = 0 Then
SQLAL = "SELECT parametre2.ND... budget2 ON parametre2.idparamm =
budget2.idparam"
SQLAL = SQLAL & " WHERE parametre2.ND= ""AL"""
SQLAL = SQLAL & ";"
[SF_budget].Form.RecordSource = SQLAL
[SF_budget].Form.Requery
End If
If PageIndex = 1 Then
SQLAM = "SELECT parametre2.ND... INNER JOIN budget2 ON parametre2.idparamm
= budget2.idparam"
SQLAM = SQLAM & " WHERE parametre2.ND= ""AM"""
SQLAM = SQLAM & ";"
[SF_budgetAM].Form.RecordSource = SQLAM
[SF_budgetAM].Form.Requery
End If
If PageIndex = 2 Then
SQLBD = "SELECT parametre2.ND... INNER JOIN budget2 ON parametre2.idparamm =
budget2.idparam"
SQLBD = SQLBD & " WHERE parametre2.ND= ""BD"""
SQLBD = SQLBD & ";"
[SF_budgetBD].Form.RecordSource = SQLBD
[SF_budgetBD].Form.Requery
End If
End Sub
Ca marche bien pour le premier onglet mais pas pour les autres je comprend
pas
Le sous formulaire SF_budget et SF_budget AM et SF_budgetBD sont les meme
sauf que access m'a demandé de changer le nom c'est tout
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
Ilan
Bonjour, heu j'ai déjà du mal à comprendre à quoi correspond la variable PageIndex; n'étant ici liée à aucun objet. Peux-tu essayer en testant la valeur de la variable ongbudget.value à la place de PageIndex.
Dans mon controle onglet, j'ai inseré un sous formulaire. Le meme sous formulaire pour chaque onglet.
J'ai ecrit ce code :
Private Sub ongbudget_Change() Dim SQLAL As String Dim SQLAM As String Dim SQLBD As String
If PageIndex = 0 Then SQLAL = "SELECT parametre2.ND... budget2 ON parametre2.idparamm = budget2.idparam" SQLAL = SQLAL & " WHERE parametre2.ND= ""AL""" SQLAL = SQLAL & ";" [SF_budget].Form.RecordSource = SQLAL [SF_budget].Form.Requery End If
If PageIndex = 1 Then SQLAM = "SELECT parametre2.ND... INNER JOIN budget2 ON parametre2.idparamm = budget2.idparam" SQLAM = SQLAM & " WHERE parametre2.ND= ""AM""" SQLAM = SQLAM & ";" [SF_budgetAM].Form.RecordSource = SQLAM [SF_budgetAM].Form.Requery End If
If PageIndex = 2 Then SQLBD = "SELECT parametre2.ND... INNER JOIN budget2 ON parametre2.idparamm = budget2.idparam" SQLBD = SQLBD & " WHERE parametre2.ND= ""BD""" SQLBD = SQLBD & ";" [SF_budgetBD].Form.RecordSource = SQLBD [SF_budgetBD].Form.Requery End If End Sub
Ca marche bien pour le premier onglet mais pas pour les autres je comprend pas Le sous formulaire SF_budget et SF_budget AM et SF_budgetBD sont les meme sauf que access m'a demandé de changer le nom c'est tout
Bonjour, heu j'ai déjà du mal à comprendre à quoi correspond la variable
PageIndex; n'étant ici liée à aucun objet.
Peux-tu essayer en testant la valeur de la variable ongbudget.value à la
place de PageIndex.
Dans mon controle onglet, j'ai inseré un sous formulaire. Le meme sous
formulaire pour chaque onglet.
J'ai ecrit ce code :
Private Sub ongbudget_Change()
Dim SQLAL As String
Dim SQLAM As String
Dim SQLBD As String
If PageIndex = 0 Then
SQLAL = "SELECT parametre2.ND... budget2 ON parametre2.idparamm =
budget2.idparam"
SQLAL = SQLAL & " WHERE parametre2.ND= ""AL"""
SQLAL = SQLAL & ";"
[SF_budget].Form.RecordSource = SQLAL
[SF_budget].Form.Requery
End If
If PageIndex = 1 Then
SQLAM = "SELECT parametre2.ND... INNER JOIN budget2 ON parametre2.idparamm
= budget2.idparam"
SQLAM = SQLAM & " WHERE parametre2.ND= ""AM"""
SQLAM = SQLAM & ";"
[SF_budgetAM].Form.RecordSource = SQLAM
[SF_budgetAM].Form.Requery
End If
If PageIndex = 2 Then
SQLBD = "SELECT parametre2.ND... INNER JOIN budget2 ON parametre2.idparamm =
budget2.idparam"
SQLBD = SQLBD & " WHERE parametre2.ND= ""BD"""
SQLBD = SQLBD & ";"
[SF_budgetBD].Form.RecordSource = SQLBD
[SF_budgetBD].Form.Requery
End If
End Sub
Ca marche bien pour le premier onglet mais pas pour les autres je comprend
pas
Le sous formulaire SF_budget et SF_budget AM et SF_budgetBD sont les meme
sauf que access m'a demandé de changer le nom c'est tout
Bonjour, heu j'ai déjà du mal à comprendre à quoi correspond la variable PageIndex; n'étant ici liée à aucun objet. Peux-tu essayer en testant la valeur de la variable ongbudget.value à la place de PageIndex.
Dans mon controle onglet, j'ai inseré un sous formulaire. Le meme sous formulaire pour chaque onglet.
J'ai ecrit ce code :
Private Sub ongbudget_Change() Dim SQLAL As String Dim SQLAM As String Dim SQLBD As String
If PageIndex = 0 Then SQLAL = "SELECT parametre2.ND... budget2 ON parametre2.idparamm = budget2.idparam" SQLAL = SQLAL & " WHERE parametre2.ND= ""AL""" SQLAL = SQLAL & ";" [SF_budget].Form.RecordSource = SQLAL [SF_budget].Form.Requery End If
If PageIndex = 1 Then SQLAM = "SELECT parametre2.ND... INNER JOIN budget2 ON parametre2.idparamm = budget2.idparam" SQLAM = SQLAM & " WHERE parametre2.ND= ""AM""" SQLAM = SQLAM & ";" [SF_budgetAM].Form.RecordSource = SQLAM [SF_budgetAM].Form.Requery End If
If PageIndex = 2 Then SQLBD = "SELECT parametre2.ND... INNER JOIN budget2 ON parametre2.idparamm = budget2.idparam" SQLBD = SQLBD & " WHERE parametre2.ND= ""BD""" SQLBD = SQLBD & ";" [SF_budgetBD].Form.RecordSource = SQLBD [SF_budgetBD].Form.Requery End If End Sub
Ca marche bien pour le premier onglet mais pas pour les autres je comprend pas Le sous formulaire SF_budget et SF_budget AM et SF_budgetBD sont les meme sauf que access m'a demandé de changer le nom c'est tout
Gilbert
Bonjour,
Est-tu sûr qu'un même formulaire puisse avoir plusieurs RecordSource différents simultanément? Un premier pour la page 1 , un autre pour la page 2... J'ai des doutes la dessus.
Pourquoi ne pas mettre un seul sous-formulaire dont tu changes le RecordSource?
Gilbert
"el_quincho" a écrit dans le message de news:
Dans mon controle onglet, j'ai inseré un sous formulaire. Le meme sous formulaire pour chaque onglet.
J'ai ecrit ce code :
Private Sub ongbudget_Change() Dim SQLAL As String Dim SQLAM As String Dim SQLBD As String
If PageIndex = 0 Then SQLAL = "SELECT parametre2.ND... budget2 ON parametre2.idparamm > budget2.idparam" SQLAL = SQLAL & " WHERE parametre2.ND= ""AL""" SQLAL = SQLAL & ";" [SF_budget].Form.RecordSource = SQLAL [SF_budget].Form.Requery End If
If PageIndex = 1 Then SQLAM = "SELECT parametre2.ND... INNER JOIN budget2 ON parametre2.idparamm
= budget2.idparam" SQLAM = SQLAM & " WHERE parametre2.ND= ""AM""" SQLAM = SQLAM & ";" [SF_budgetAM].Form.RecordSource = SQLAM [SF_budgetAM].Form.Requery End If
If PageIndex = 2 Then SQLBD = "SELECT parametre2.ND... INNER JOIN budget2 ON parametre2.idparamm budget2.idparam" SQLBD = SQLBD & " WHERE parametre2.ND= ""BD""" SQLBD = SQLBD & ";" [SF_budgetBD].Form.RecordSource = SQLBD [SF_budgetBD].Form.Requery End If End Sub
Ca marche bien pour le premier onglet mais pas pour les autres je comprend pas Le sous formulaire SF_budget et SF_budget AM et SF_budgetBD sont les meme sauf que access m'a demandé de changer le nom c'est tout
Bonjour,
Est-tu sûr qu'un même formulaire puisse avoir plusieurs RecordSource
différents simultanément?
Un premier pour la page 1 , un autre pour la page 2...
J'ai des doutes la dessus.
Pourquoi ne pas mettre un seul sous-formulaire dont tu changes le
RecordSource?
Gilbert
"el_quincho" <elquincho@discussions.microsoft.com> a écrit dans le message
de news:68613B51-47B7-4415-B5BC-D993CAC21C7D@microsoft.com...
Dans mon controle onglet, j'ai inseré un sous formulaire. Le meme sous
formulaire pour chaque onglet.
J'ai ecrit ce code :
Private Sub ongbudget_Change()
Dim SQLAL As String
Dim SQLAM As String
Dim SQLBD As String
If PageIndex = 0 Then
SQLAL = "SELECT parametre2.ND... budget2 ON parametre2.idparamm > budget2.idparam"
SQLAL = SQLAL & " WHERE parametre2.ND= ""AL"""
SQLAL = SQLAL & ";"
[SF_budget].Form.RecordSource = SQLAL
[SF_budget].Form.Requery
End If
If PageIndex = 1 Then
SQLAM = "SELECT parametre2.ND... INNER JOIN budget2 ON
parametre2.idparamm
= budget2.idparam"
SQLAM = SQLAM & " WHERE parametre2.ND= ""AM"""
SQLAM = SQLAM & ";"
[SF_budgetAM].Form.RecordSource = SQLAM
[SF_budgetAM].Form.Requery
End If
If PageIndex = 2 Then
SQLBD = "SELECT parametre2.ND... INNER JOIN budget2 ON parametre2.idparamm
budget2.idparam"
SQLBD = SQLBD & " WHERE parametre2.ND= ""BD"""
SQLBD = SQLBD & ";"
[SF_budgetBD].Form.RecordSource = SQLBD
[SF_budgetBD].Form.Requery
End If
End Sub
Ca marche bien pour le premier onglet mais pas pour les autres je comprend
pas
Le sous formulaire SF_budget et SF_budget AM et SF_budgetBD sont les meme
sauf que access m'a demandé de changer le nom c'est tout
Est-tu sûr qu'un même formulaire puisse avoir plusieurs RecordSource différents simultanément? Un premier pour la page 1 , un autre pour la page 2... J'ai des doutes la dessus.
Pourquoi ne pas mettre un seul sous-formulaire dont tu changes le RecordSource?
Gilbert
"el_quincho" a écrit dans le message de news:
Dans mon controle onglet, j'ai inseré un sous formulaire. Le meme sous formulaire pour chaque onglet.
J'ai ecrit ce code :
Private Sub ongbudget_Change() Dim SQLAL As String Dim SQLAM As String Dim SQLBD As String
If PageIndex = 0 Then SQLAL = "SELECT parametre2.ND... budget2 ON parametre2.idparamm > budget2.idparam" SQLAL = SQLAL & " WHERE parametre2.ND= ""AL""" SQLAL = SQLAL & ";" [SF_budget].Form.RecordSource = SQLAL [SF_budget].Form.Requery End If
If PageIndex = 1 Then SQLAM = "SELECT parametre2.ND... INNER JOIN budget2 ON parametre2.idparamm
= budget2.idparam" SQLAM = SQLAM & " WHERE parametre2.ND= ""AM""" SQLAM = SQLAM & ";" [SF_budgetAM].Form.RecordSource = SQLAM [SF_budgetAM].Form.Requery End If
If PageIndex = 2 Then SQLBD = "SELECT parametre2.ND... INNER JOIN budget2 ON parametre2.idparamm budget2.idparam" SQLBD = SQLBD & " WHERE parametre2.ND= ""BD""" SQLBD = SQLBD & ";" [SF_budgetBD].Form.RecordSource = SQLBD [SF_budgetBD].Form.Requery End If End Sub
Ca marche bien pour le premier onglet mais pas pour les autres je comprend pas Le sous formulaire SF_budget et SF_budget AM et SF_budgetBD sont les meme sauf que access m'a demandé de changer le nom c'est tout
Gilles MOUGNOZ
Dans mon controle onglet, j'ai inseré un sous formulaire. Le meme sous formulaire pour chaque onglet. J'ai ecrit ce code : Private Sub ongbudget_Change() ... If PageIndex = 0 Then SQLAL = "SELECT parametre2.ND... budget2 ON parametre2.idparamm > budget2.idparam" SQLAL = SQLAL & " WHERE parametre2.ND= ""AL""" SQLAL = SQLAL & ";" [SF_budget].Form.RecordSource = SQLAL [SF_budget].Form.Requery End If
End Sub Ca marche bien pour le premier onglet mais pas pour les autres je comprend pas Le sous formulaire SF_budget et SF_budget AM et SF_budgetBD sont les meme sauf que access m'a demandé de changer le nom c'est tout
Bonjour, El Quincho
Si j'ai bien lu, la seule différence entre toutes ces requêtes est la clause WHERE où le champ ND de la table parametre2 est égal à "AL", "AM" ou "BD". Si ces valeurs sont fixes, voila ce que je te propose: 1) Sur ton formulaire, sort le sous-formulaire de la 1ère page de ton contrôle Onglet et supprime ce dernier. 2) Au-dessus du sous-formulaire, crée une zone de liste déroulante qui aura comme source une liste de valeur organisée comme suit: "AL";"Page1";"AM";"Page2";"BD";"Page3" et indique AL comme valeur par défaut 3) Dans les propriétés de Format de ta liste déroulante, indique qu'elle a 2 colonnes et que la première est de largeur 0 (afin qu'elle n'apparaisse pas) 4) Crée "en vrai" la requête que tu veux attribuer à ton sous-formulaire et, comme critère pour le champ parametre2.ND, tape: Formulaires![Ton formulaire]![Ta liste déroulante] 5) Renseigne la requête que tu viens de créer comme source de ton sous-formulaire 6) Sur ton formulaire principal, sur l'événement AfterUpdate de ta nouvelle liste déroulante, écris simplement le code: [SF_budget].Form.Requery
Si le sous-formulaire est vide à l'ouverture, place aussi l'instruction [SF_budget].Form.Requery sur le Form_Open du formulaire principal. A partir de là, tu peux faire toutes les améliorations que tu veux et même simuler une navigation par onglet !
Bonne continuation
Dans mon controle onglet, j'ai inseré un sous formulaire. Le meme sous
formulaire pour chaque onglet.
J'ai ecrit ce code :
Private Sub ongbudget_Change()
...
If PageIndex = 0 Then
SQLAL = "SELECT parametre2.ND... budget2 ON parametre2.idparamm > budget2.idparam"
SQLAL = SQLAL & " WHERE parametre2.ND= ""AL"""
SQLAL = SQLAL & ";"
[SF_budget].Form.RecordSource = SQLAL
[SF_budget].Form.Requery
End If
End Sub
Ca marche bien pour le premier onglet mais pas pour les autres je comprend
pas
Le sous formulaire SF_budget et SF_budget AM et SF_budgetBD sont les meme
sauf que access m'a demandé de changer le nom c'est tout
Bonjour, El Quincho
Si j'ai bien lu, la seule différence entre toutes ces requêtes est la clause
WHERE où le champ ND de la table parametre2 est égal à "AL", "AM" ou "BD".
Si ces valeurs sont fixes, voila ce que je te propose:
1) Sur ton formulaire, sort le sous-formulaire de la 1ère page de ton
contrôle Onglet et supprime ce dernier.
2) Au-dessus du sous-formulaire, crée une zone de liste déroulante qui aura
comme source une liste de valeur organisée comme suit:
"AL";"Page1";"AM";"Page2";"BD";"Page3" et indique AL comme valeur par défaut
3) Dans les propriétés de Format de ta liste déroulante, indique qu'elle a 2
colonnes et que la première est de largeur 0 (afin qu'elle n'apparaisse pas)
4) Crée "en vrai" la requête que tu veux attribuer à ton sous-formulaire et,
comme critère pour le champ parametre2.ND, tape: Formulaires![Ton
formulaire]![Ta liste déroulante]
5) Renseigne la requête que tu viens de créer comme source de ton
sous-formulaire
6) Sur ton formulaire principal, sur l'événement AfterUpdate de ta nouvelle
liste déroulante, écris simplement le code: [SF_budget].Form.Requery
Si le sous-formulaire est vide à l'ouverture, place aussi l'instruction
[SF_budget].Form.Requery sur le Form_Open du formulaire principal.
A partir de là, tu peux faire toutes les améliorations que tu veux et même
simuler une navigation par onglet !
Dans mon controle onglet, j'ai inseré un sous formulaire. Le meme sous formulaire pour chaque onglet. J'ai ecrit ce code : Private Sub ongbudget_Change() ... If PageIndex = 0 Then SQLAL = "SELECT parametre2.ND... budget2 ON parametre2.idparamm > budget2.idparam" SQLAL = SQLAL & " WHERE parametre2.ND= ""AL""" SQLAL = SQLAL & ";" [SF_budget].Form.RecordSource = SQLAL [SF_budget].Form.Requery End If
End Sub Ca marche bien pour le premier onglet mais pas pour les autres je comprend pas Le sous formulaire SF_budget et SF_budget AM et SF_budgetBD sont les meme sauf que access m'a demandé de changer le nom c'est tout
Bonjour, El Quincho
Si j'ai bien lu, la seule différence entre toutes ces requêtes est la clause WHERE où le champ ND de la table parametre2 est égal à "AL", "AM" ou "BD". Si ces valeurs sont fixes, voila ce que je te propose: 1) Sur ton formulaire, sort le sous-formulaire de la 1ère page de ton contrôle Onglet et supprime ce dernier. 2) Au-dessus du sous-formulaire, crée une zone de liste déroulante qui aura comme source une liste de valeur organisée comme suit: "AL";"Page1";"AM";"Page2";"BD";"Page3" et indique AL comme valeur par défaut 3) Dans les propriétés de Format de ta liste déroulante, indique qu'elle a 2 colonnes et que la première est de largeur 0 (afin qu'elle n'apparaisse pas) 4) Crée "en vrai" la requête que tu veux attribuer à ton sous-formulaire et, comme critère pour le champ parametre2.ND, tape: Formulaires![Ton formulaire]![Ta liste déroulante] 5) Renseigne la requête que tu viens de créer comme source de ton sous-formulaire 6) Sur ton formulaire principal, sur l'événement AfterUpdate de ta nouvelle liste déroulante, écris simplement le code: [SF_budget].Form.Requery
Si le sous-formulaire est vide à l'ouverture, place aussi l'instruction [SF_budget].Form.Requery sur le Form_Open du formulaire principal. A partir de là, tu peux faire toutes les améliorations que tu veux et même simuler une navigation par onglet !