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 :

BDD changer table avec combobox


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 94
    Par défaut BDD changer table avec combobox
    Bonjour,
    Existe t'il un composant pour changer automatiquement une table d'une base de données pour afficher mes données dans un DBGrid, ou faut-il le faire uniquement en code ?
    Merci d'avance.

  2. #2
    Expert confirmé

    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 : 40
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Regarde peut etre avec un DBComboBox, sinon faut le faire en code

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 94
    Par défaut
    j'ai regardé DBComboBox mais cela fonction uniquement sur la valeur du champ paramétré dans TDBComboBox:ataField de la ligne sélctionnée de la table.

  4. #4
    Expert confirmé

    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 : 40
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Alors il faut le coder

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Allez; un petit bout de code pour toi...avec deux combos un pour la base de données et un autre pour la table contenue:

    Activation de la page ou est le Grid et affectation des composants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void __fastcall TMainForm::AdvTabSheet5Show(TObject *Sender)
    {
    ListeBaseComboBox->ItemIndex = -1; //efface les sélection si existantes
    ListeTableComboBox->ItemIndex = -1;
    StarDataModule->TestDataSet->Active = false; //désactive vue éventuelle
    AdminGrid->DataSource = StarDataModule->TestDataSource;
    AdminNavigator->DataSource = StarDataModule->TestDataSource;
    GridFindDialog->Grid = AdminGrid;    // recherche sur cette grille
    ExcelIO->AdvStringGrid = AdminGrid; // export sur cette grille
    }
    Affectation des noms de tables dans la combo, une fois que la base retenu est choisie:

    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
    void __fastcall TMainForm::ListeBaseComboBoxChange(TObject *Sender)
    {
    StarDataModule->TestDataSet->Active = false;
    StarDataModule->TestDataSet->Filtered = false;
    ListeTableComboBox->Items->Clear(); //efface si liste de choix existante
     
    switch (ListeBaseComboBox->ItemIndex)
    	{
    	case 0:
    		StarDataModule->TestDataSet->Connection = StarDataModule->ParamConnection;  // base centrale
    		StarDataModule->ParamConnection->GetTableNames(ListeTableComboBox->Items , false); // charge le nom des tables (et requêtes)
    		break;
    	case 1:
    		StarDataModule->TestDataSet->Connection = StarDataModule->LocalConnection;  //Base locale
    		StarDataModule->LocalConnection->GetTableNames(ListeTableComboBox->Items , false); // charge le nom des tables (et requêtes)
    		break;
    	case 2:
    		StarDataModule->TestDataSet->Connection = StarDataModule->DataConnection; // base de données
    		StarDataModule->DataConnection->GetTableNames(ListeTableComboBox->Items , false); // charge le nom des tables (et requêtes)
    		break;
    	}
     
    	for(int i = 0; i < ListeTableComboBox->Items->Count; i++){ // afin de supprimer table et Requète != Txx
    		if(ListeTableComboBox->Items->Strings[i][1] != 'T'){
    			ListeTableComboBox->Items->Delete(i);
    			i--;
    		}
    	}
    }

Discussions similaires

  1. [WD14] Alimenter table avec une BDD (et vis versa)
    Par benji42 dans le forum WinDev
    Réponses: 1
    Dernier message: 24/05/2012, 22h11
  2. [Débutant] afficher une table d'une BDD MySql dans un combobox multicolonnes
    Par vbcasio dans le forum VB.NET
    Réponses: 4
    Dernier message: 24/06/2011, 11h32
  3. changer des données d'une table avec select.
    Par PHPkoala dans le forum Développement
    Réponses: 2
    Dernier message: 23/03/2010, 16h07
  4. Réponses: 5
    Dernier message: 12/03/2007, 10h21
  5. Comment je peux changer nom de 'Table' avec la phrase sql
    Par YEK dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/10/2004, 08h38

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