IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

Liste liées dans sous-formulaire


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut Liste liées dans sous-formulaire
    Bonjour,

    Dans le formulaire F_Rv, j’ ai un sous formulaire contenant deux listes liées.
    La première liste(Famille de matériel) me permet de sélectionner une famille de matériel. Je veux que la deuxième liste(Matériel) ne présente que des données correspondants à la famille sélectionnée. Pour se faire, j’ utilise une macro qui fonctionne parfaitement dans un formulaire simple. Lorsque j’ ai voulu l’ adapter à un sous formulaire, j’ ai du commettre une erreur mais je n’ arrive pas à trouver ou.
    Je joins donc une base simplifiée ainsi que la macro utilisée.
    Macro:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Option Explicit
    '===============================================================================================================
    	Sub CreationTableProvisoire()
     
        	Dim Connection as Object, RequeteCreation as Object
        	Dim RequeteSQL as string
     
           Connection = ThisDatabasedocument.CurrentController.ActiveConnection
           RequeteSQL = "drop table ""TP_MtrlFml"";create table ""TP_MtrlFml""(""Cf_TP"" integer primary key,""Cf_MtrlFml"" varchar(10))"
           RequeteCreation = Connection.createStatement()
           RequeteCreation.executeUpdate(RequeteSQL)
     
    	   EnregistrerValeur
     
        End Sub
    '===============================================================================================================
     	Function EnregistrerValeur
     
        	Dim Connection as Object,Frml as object,Requete as object
        	Dim RequeteSQL as string
        	Dim VlrFml as integer, VlrCfp as integer 
     
           Frml  = ThisComponent.DrawPage.Forms.getByName("MainForm").getByName("SubForm").getByName("SubForm_Grid")
           VlrFml = Frml.getByName("LstMtrlFml").CurrentValue
     
           If VlrFml = " " Then
              MsgBox("Vous devez renseigner le champ famille de projet")
              Exit Function
           End If   
           VlrCfp = 0
          Connection = ThisDatabasedocument.CurrentController.ActiveConnection
           Requete = Connection.createStatement()
           RequeteSQL = "INSERT INTO ""TP_MtrlFml"" (""Cf_TP"", ""Cf_MtrlFml"") VALUES ("+ VlrCfp + ", "+ VlrFml + ")"   
           Requete.executeUpdate(RequeteSQL)
     
        End Function
    '===============================================================================================================
    	Sub Actu(oEv as Object)
     
       		oEv.Source.Model.Refresh
     
    	End Sub
    Merci de votre aide.

    Bonne journée

    Test.odb.tar.gz

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Bonjour,

    Dans le fichier donné, si l'on sélectionne une revue le sous-formulaire s'actualise bien... je ne comprends pas le problème ?

    Cdlt.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut MAJ listes liées
    Bonjour,

    Le sous formulaire est effectivement correctement mis à jour lors de la sélection d' une nouvelle revue. Ce qui ne fonctionne pas c' est le lien entre la colonne famille de matériel et la colonne matériel.
    La colonne matériel doit être filtrée par la sélection de la colonne famille de matériel.

    A+

  4. #4
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Donc si je comprends bien tu voudrais que lorsque tu changes la famille de matériel, tu voudrais que la colonne matériel se mette à jour avec le filtre.
    Mais cela ne peut pas se faire en mode feuille de données, car c'est un tableau de données. donc les cellules ne se mettent pas jour en dynamique.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  5. #5
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut Maj listes liées
    Bonsoir Zoom61,

    En fait, par exemple, si je sélectionne la famille des Z2, je voudrais pouvoir avoir une sélection dans la liste matériel limité à cette famille. Soit les matériels si dessous:

    Z 7300
    Z 7500
    Z 9500
    Z 9600
    Z 11500

    Il me suffit donc de cliquer sur l' un des matériels pour qu' ils s' affiche dans la colonne Matériel.

    Bien cordialement

  6. #6
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Le tableau étant en feuille de données, le filtre ne pourra pas se mettre à jour dans la liste.

    Pour faire ce que tu souhaites réaliser, tu as deux solutions :
    • soit il faudrait que cela ouvre un autre formulaire qui ne contiendrait que le matériel filtré et qu'à la fermeture cela mette à jour la cellule correspondante
    • soit revoir ton sous-formulaire pour qu'il ne soit pas en feuille de données, mais cela peut être lourd si le sous-formulaire contient beaucoup de lignes.

    Cdlt.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  7. #7
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut MAJ champ matériel
    Bonjour Zoom61,

    Bon, compte tenu des informations que vous me donnez, je vais tenter de mettre en place la première solution. En effet, la deuxième serait inadapté par le nombre conséquent d' articles à chaque parution.
    Dés réalisation, je mettrai la solution sur le site afin de servir à d' autres utilisateurs.
    Merci de votre aide.

    Bonne journée à tous

Discussions similaires

  1. Listes liées dans sous formulaire feuille de données
    Par palaga13 dans le forum Access
    Réponses: 3
    Dernier message: 04/04/2013, 21h59
  2. [AC-2007] Actualiser liste déroulante liée dans sous-formulaire
    Par Elno11 dans le forum IHM
    Réponses: 5
    Dernier message: 24/12/2012, 14h42
  3. [AC-2007] Problème de requête liée à liste déroulante dans sous-formulaire
    Par jean33000 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 27/04/2010, 14h22
  4. liste liées dans sous formulaire
    Par pio07 dans le forum IHM
    Réponses: 10
    Dernier message: 19/06/2009, 19h07
  5. Réponses: 1
    Dernier message: 04/05/2007, 12h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo