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

C++Builder Discussion :

Comment faire le changement de "Tabs" dans un TJvgTabControl ?


Sujet :

C++Builder

  1. #41
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Salut.

    C'est normal que tes composants s'affichent dans toutes les tabs, ce que fait ton composant JvgTabControl c'est qu'il ajoute des onglets au dessus, mais il n'y a pas de page spécifique à chaque onglet.
    Pour remédier à ça, tu as un évènement OnChange à ton TabControl qui se produit à chaque fois que tu change d'onglet, il te suffit donc de modifier les composant affiché en fonction du tab qui va être affiché dans cet évènement.

  2. #42
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    Si on veut faire écho après chaque ajout d'un nouveau tab :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //dernier entré avec AddObject
    TabControl->TabIndex = TabControl->Tabs->Count-1;
    En fait, pour bien faire, il faudrait limiter la taille de la barre des tabs au stricte nécessaire, dans ton cas c'est au niveau de sa largeur (TabControl->Width = 22 ou 24 ??? à tester...).
    Dans ce cas, le Chart a pour parent non plus le tabcontrol mais la form pour s'y dessiner donc ... sur le même plan graphique que le tabcontrol !
    Donc à chaque nouveau tab on crée un TChart qui vient s'empiler sur les autres.
    Il faut donc également créer pour ce chart une série (et comme je n'utilise pas ce type de composants ... ???).

    Si le tab existe, on récupère son Chart via TabControl->Tabs->Objects[ index ], et on ajoute un point à la série de ce chart.

    Après ça coule de source ... avec BringToFront qui place l'un des charts au premier plan de la pile existante !

    PS : Ne te fait pas de bile, on va y arriver !!!

    A plus !

  3. #43
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    OK, merci henderson !

    Alors pour que ça soit clair :

    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
     
    TFastLineSeries *Serie;
    TChart * maChart;
     
    if(index == -1)
    {
     
    	maChart = new TChart(Form1->JvgTabControl1);
            maChart->SetBounds(120,75,600,200);
    	Serie = new TFastLineSeries(maChart);
    	maChart->Parent = Form1->JvgTabControl1;
    	Serie->ParentChart = maChart;
            Form1->JvgTabControl1->Tabs->AddObject( NumSerie, maChart);
    	Form1->JvgTabControl1->TabIndex = Form1->JvgTabControl1->Tabs->Count-1;
    	maChart->BringToFront();
            Form1->Refresh();
     
    }
    else
    {
    	maChart = (TChart *) Form1->JvgTabControl1->Tabs->Objects [ index ];
     
    	Form1->JvgTabControl1->TabIndex = index;
    	Serie->AddXY( i, ((float) buf [9]/10.0), i, clBlue);
    	maChart->BringToFront();
            Form1->Refresh();
     
    }
    Et dans le OnChange :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int n = Form1->JvgTabControl1->TabIndex == n;
    if(n != -1)
    {
        	((TChart*)Form1->JvgTabControl1->Tabs->Objects[n]);
    }
    Et quel est le problème ?

  4. #44
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    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
     
    //Deux pointeurs
    TFastLineSeries *Serie;
    TChart * maChart;
    //Rechercher si NumSerie existe en tant que tab
    int index = Form1->JvgTabControl1->Tabs->IndexOf(NumSerie);
    if(index == -1)
        {                            							
        maChart = new TChart(Form1->JvgTabControl1);
        maChart->Parent = Form1->JvgTabControl1;
        maChart->SetBounds(120,75,600,200);
        Serie = new TFastLineSeries(maChart);
        Serie->ParentChart = maChart;
        //Serie->AddXY(....) // <<< sans doute !!!
        Form1->JvgTabControl1->Tabs->AddObject( NumSerie, maChart);
        Form1->JvgTabControl1->TabIndex = Form1->JvgTabControl1->Tabs->Count-1;
        maChart->BringToFront();
        }
    else
        {
        maChart = (TChart *) Form1->JvgTabControl1->Tabs->Objects [ index ];
        Serie = maChart->Series[0]; // <<<< récupérer la série comme ça ???
        Serie->AddXY( i, ((float) buf [9]/10.0), i, clBlue);
        Form1->JvgTabControl1->TabIndex = index;
        maChart->BringToFront();
        }
    Et dans la OnChange :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //Pour se simplifier la vie :
    int n = Form1->JvgTabControl1->TabIndex;
    //On teste
    if(n != -1)
        {
        ((TChart*)Form1->JvgTabControl1->Tabs->Objects[n])->BringToFront();
        }
    Si le tabcontrol est réduit à une taille strictement nécessaire, dans ce cas, pour que les charts s'affichent sur le même plan que le tabcontrol dont je suppose que le parent est Form1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //Au lieu de : maChart->Parent = Form1->JvgTabControl1;
    maChart->Parent = Form1;
    //Dans le sens :
    //maChart->Parent = Form1->JvgTabControl1->Parent;
    Pour info, je ne sais pas si ma manière de récupérer la série du chart est la bonne !
    Je n'utilise pas ce type de composant mais des composants perso !!!
    Donc le contenu de ma contribution est purement théorique pour ce qui concerne la classe TChart (à partir de ce que je pense en avoir compris par le biais de la doc) !

    Salut !

  5. #45
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    Serie = maChart->Series[0]; // <<<< récupérer la série comme ça ???
    C'est surement la récupération de la série qu'il faut pour que ça fonctionne !!!

    J'ai fait comme ça mais ça donne rien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Serie = (TFastLineSeries *) maChart->Series[0];
    si vous avez une idée, elle est bienvenue !
    Bon, j'y replonge ...

  6. #46
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    Après quelques test, je suis arrivé à la conclusion que l'on peut faire plus simple.
    L'idée est la suivante : on va se servir d'un index pour accéder au séries d'un seul et même chart !
    L'astuce, c'est qu'au niveau du dessin, on peut activer une série !
    Donc à chaque nouveau tab on se contente de rajouter une nouvelle série au Chart.

    Pour mon TabControl : Align = alTop et Height = 23.
    Le chart est placé juste au dessous du TabControl, sur Form1.

    Objets utilisés :

    TChart *Chart1;
    TSpeedButton *ShowAllSeriesButton;
    TSpeedButton *HideSeriesButton;
    TTabControl *TabControl1;
    TSpeedButton *Cap1;
    TSpeedButton *Cap2;
    TSpeedButton *Cap3;
    TSpeedButton *Cap4;

    Méthode déclarée dans la classe de TForm1 :

    void __fastcall ToTabControl(AnsiString NomSerie, int Y);

    #include <stdlib.h> // pour random

    Le code pour l'ensemble de la simulation :

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    //TLineSeries <<< chez moi : #include <Series.hpp> dans le .h
    TLineSeries *Serie;
    int Step_x=0;
    TColor Colors[] = {clBlue, clRed, clYellow, clGreen};
     
     
    __fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
    {
    }
     
    //-- Oblige Chart1 à dessiner toutes les séries
    void __fastcall TForm1::ShowSeriesButtonClick(TObject *Sender)
    {
    for(int j = 0; j < TabControl1->Tabs->Count; j++)
        {
        Serie = (TLineSeries *)Chart1->Series[ j ];
        Serie->Active = true;
        }
    }
     
    //--Oblige Chart1 à ne dessiner que la série correspondant au Tab actif
    void __fastcall TForm1::HideSeriesButtonClick(TObject *Sender)
    {
    for(int j = 0; j < TabControl1->Tabs->Count; j++)
        {
        if(j != TabControl1->TabIndex)
            {
            Serie = (TLineSeries *)Chart1->Series[ j ];
            Serie->Active = false;
            }
        }
    }
     
    //--Cap1, Cap2, Cap3 et Cap4 se partagent cette OnClick
    void __fastcall TForm1::Cap1Click(TObject *Sender)
    {
    ToTabControl(((TSpeedButton*)Sender)->Caption, random(100));
    }
     
    //--Méthode pour gérer l'info
    void __fastcall TForm1::ToTabControl(AnsiString NomSerie, int Y)
    {
    //Pour donner vie à tout ça...
    Step_x++;
    //Donc ça commence ici :
     
    int n = TabControl1->TabIndex;
    if(n != -1)
        {
        Serie = (TLineSeries *)Chart1->Series[ n ];
        Serie->Active = false;
        }
    int index = TabControl1->Tabs->IndexOf( NomSerie );
    if(index == -1)
        {
        TabControl1->Tabs->Add( NomSerie );
        n = TabControl1->Tabs->Count-1;
        Serie = new TLineSeries(this); //Donc chez moi this est Form1
        Serie->Stairs = true;
        Chart1->AddSeries(Serie);
        Serie->AddXY(Step_x, Y, "", Colors[ n ]);
        Serie->Active = true;
        TabControl1->TabIndex = n;
        }
    else
        {
        TabControl1->TabIndex = index;
        Serie = (TLineSeries *)Chart1->Series[ index ];
        Serie->AddXY(Step_x, Y, "", Colors[ index ]);
        Serie->Active = true;
     
        }
    }
     
    //-- Dans la OnChanging on rend invisible la série, celle avant changement 
    void __fastcall TForm1::TabControl1Changing(TObject *Sender,
          bool &AllowChange)
    {
    int n = TabControl1->TabIndex;
    if(n != -1)
        {
        Serie = (TLineSeries *)Chart1->Series[ n ];
        Serie->Active = false;
        }
    }
     
    //-- Dans la OnChange on rend visible la série, celle après changement
    void __fastcall TForm1::TabControl1Change(TObject *Sender)
    {
    int n = TabControl1->TabIndex;
    if(n != -1)
        {
        Serie = (TLineSeries *)Chart1->Series[ n ];
        Serie->Active = true;
        }
    }
    //--
    Bon courage pour le reste !

    A plus !

  7. #47
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    Super, merci henderson !

    J'ai réussi à faire ce que je voulais grâce à ton aide : j'arrive à tracer la courbe d'un Chart différent à chaque onglet !

    J'ai essayé d'ajouter un Chart pour avoir deux Chart par Tab (même numéro de série mais données différentes), j'ai fait comme ceci :

    - Appel de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ToTabControl(NumSerie, ((float) buf [9]/10.0));
    ToTabControl(NumSerie, ((float) buf [11]/10.00));
    - La fonction :
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    void __fastcall UThread::ToTabControl(AnsiString NomSerie, float Y)
    {
    	//Pour donner vie à tout ça...
    	Step_x++;
    	//Donc ça commence ici :
     
    	int n = Form1->JvgTabControl1->TabIndex;
    	if(n != -1)
        {
    		Serie = (TFastLineSeries *)Form1->Chart1->Series[ n ];
    		Serie->Active = false;
     
    		Serie2 = (TFastLineSeries *)Form1->Chart2->Series[ n ];
    		Serie2->Active = false;
        }
    	int index = Form1->JvgTabControl1->Tabs->IndexOf( NomSerie );
    	if(index == -1)
    	{
    		Form1->JvgTabControl1->Tabs->Add( NomSerie );
    		n = Form1->JvgTabControl1->Tabs->Count-1;
     
    		Serie = new TFastLineSeries(Form1);
    		Serie2 = new TFastLineSeries(Form1);
     
    		Form1->Chart1->Legend->Visible = false;
    		Serie->LinePen->Width = 2;
    		//Serie->Stairs = true;
    		Serie->Color = clBlue;
     
    		Form1->Chart2->Legend->Visible = false;
    		Serie2->LinePen->Width = 2;
    		//Serie->Stairs = true;
    		Serie2->Color = clGreen;
     
    		Form1->Chart1->AddSeries(Serie);
    		Serie->AddXY(Step_x, Y, "", clBlue);
    		Serie->Active = true;
     
    		Form1->Chart2->AddSeries(Serie2);
    		Serie2->AddXY(Step_x, Y, "", clGreen);
    		Serie2->Active = true;
     
    		Form1->JvgTabControl1->TabIndex = n;
        }
    	else
        {
    		Form1->JvgTabControl1->TabIndex = index;
     
    		Serie = (TFastLineSeries *)Form1->Chart1->Series[ index ];
    		Serie->AddXY(Step_x, Y, "", clBlue);
    		Serie->Active = true;
     
    		Serie2 = (TFastLineSeries *)Form1->Chart2->Series[ index ];
    		Serie2->AddXY(Step_x, Y, "", clGreen);
    		Serie2->Active = true;
     
        }
    }
    - Dans la OnChange :
    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
     
    void __fastcall TForm1::JvgTabControl1Change(TObject *Sender)
    {
     
    	int n = Form1->JvgTabControl1->TabIndex;
    	if(n != -1)
        {
    		Serie = (TFastLineSeries *)Chart1->Series[ n ];
    		Serie->Active = true;
    		Serie2 = (TFastLineSeries *)Chart2->Series[ n ];
    		Serie2->Active = true;
        }
     
     
     
    }
    - Dans la OnChanging :
    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
     
    void __fastcall TForm1::JvgTabControl1Changing(TObject *Sender,
          bool &AllowChange)
    {
     
    	int n = Form1->JvgTabControl1->TabIndex;
    	if(n != -1)
        {
    		Serie = (TFastLineSeries *)Form1->Chart1->Series[ n ];
    		Serie->Active = false;
    		Serie2 = (TFastLineSeries *)Form1->Chart2->Series[ n ];
    		Serie2->Active = false;
        }
     
     
     
    }
    Et tout ça ne fonctionne pas : Les 2 graphiques de la même Tab sont les mêmes !!!!!
    Ça marche très bien lorsqu'il y a un seul Chart par Tab, j'en met un autre et ça ne fonctionne plus !!!
    Comment ça se fait ?


  8. #48
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    En fait, lorsque je reçois les données correspondant à une Tab (un numéro de série), que je veux mettre une des données (buf [9] par ex) dans un graphe de la Tab et une autre des données (du même lot) (buf[11] par ex) dans un autre graphe de la même Tab, j'ai ces 2 graphes de la même Tab qui sont pareil : une ligne tracée entre buf[9] et buf[11] !!!!!!!!!!

    Comment ça se fait ?

    Est ce quelqu'un serait pourquoi et pourrait m'éclairer ?

  9. #49
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    Ce doit être une histoire d'agencement au niveau du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //REM .... en global
    TLineSeries *Serie;
    Donc j'ai modifié en ce sens :

    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
    43
    44
    45
    46
    47
    48
    49
     
    void __fastcall TForm1::ToTabControl(AnsiString NomSerie, int Y1, int Y2)
    {
    int n = TabControl1->TabIndex;
    if(n != -1)
        {
        Serie = (TLineSeries *)Chart1->Series[ n ];
        Serie->Active = false;
     
        Serie = (TLineSeries *)Chart2->Series[ n ];
        Serie->Active = false;
        }
     
    int index = TabControl1->Tabs->IndexOf( NomSerie );
    if(index == -1)
        {
        TabControl1->Tabs->Add( NomSerie );
        n = TabControl1->Tabs->Count-1;
     
        //La série de Chart1
        Serie = new TLineSeries( this );
        Serie->Stairs = true;
        Chart1->AddSeries( Serie );
        Serie->AddXY(Step_x, Y1, "", Colors[ n ]);
     
        //La série de Chart2
        Serie = new TLineSeries( this );
        Serie->Stairs = true;
        Chart2->AddSeries( Serie );
        Serie->AddXY(Step_x, Y2, "", Colors[ n ]);
     
        TabControl1->TabIndex = n;
        }
    else
        {
        TabControl1->TabIndex = index;
     
        //La série de Chart1
        Serie = (TLineSeries *)Chart1->Series[ index ];
        Serie->AddXY(Step_x, Y1, "", Colors[ index ]);
        Serie->Active = true;
     
        //La série de Chart2
        Serie = (TLineSeries *)Chart2->Series[ index ];
        Serie->AddXY(Step_x, Y2, "", Colors[ index ]);
        Serie->Active = true;
        }
    Step_x++;
    }
    Le reste est inchangé, mise à part la prise en compte de Chart2 et de sa série.
    Chez moi, ça fonctionne !

    A plus !

  10. #50
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    Bonjour,

    pour ce que je voulais faire, j'ai réussi et je vous remercie tous.

    Cependant, j'avais une autre question au sujet du composant "TabControl" :

    j'ai ce composant sur ma "form" avec 3 onglets (X,Y,Z), je mets un "Edit" dans un des onglets donc tous les onglets possèdent l' "Edit". Comment assigner le contenu de l' "Edit" à un onglet ?

    Merci d'avance, à bientôt !

  11. #51
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    Bonjour,

    personne pour m'aider ...


    je n'arrive pas à faire en sorte que le contenu d'un "edit" change en fonction de l'onglet sélectionné !!!

    Aidez moi s'il vous plait !!!

    A bientôt !

  12. #52
    Membre confirmé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Points : 523
    Points
    523
    Par défaut
    Voici un exemple avec un pagecontrol :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Edit->Text = PageControl->Pages[PageControl->TabIndex]->Caption;

  13. #53
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    OK , merci !

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/08/2006, 16h56
  2. Comment faire référence à un champ d'un etat dans une requete?
    Par polianita dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/06/2006, 15h26
  3. Comment faire référence à un champ d'un etat dans une requete?
    Par polianita dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 16/06/2006, 17h46

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