begin process at 2012 05 29 12:37:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Base de données

 > 

Autre

 > 

Modifier un champ Access avec BDE - c++ builder


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Modifier un champ Access avec BDE - c++ builder

mardi 5 juillet 2011 à 18:27:45 | Modifier un champ Access avec BDE - c++ builder

Rionirind

Bonsoir à tous.

Pour faire simple, mon souci est que je n'arrive pas à modifier un champ d'une table Access 2003.

J'ai tout d'abord essayé de modifier ce champ en SQL mais la commande ALTER TABLE n'est pas entièrement supporté.
En fouinant sur le net j'ai pu voir que certains avaient réussit à résoudre ce problème avec ADO et DAO (composant microsoft). Je me suis inspiré de ces travaux pour tenter la même chose mais avec BDE (inclus avec BCB6 ):

Code C/C++ :
//Condition pour faire la mise à jour
if (NomChamp_actuel != edt_NomChamp_nouveau->Text)
{
     //ouverture des sessions, de la base et de la table
     Session_bdd->Open();
     Base_de_donnee->Open();                                                          
     table_resultats->Active = true;

     //Ecriture du nouveau nom saisie par l'operateur dans la table Resultat
     table_resultats->Fields->FindField(NomChamp_actuel)->FieldName = edt_NomChamp_nouveau->Text;

     //ouverture des sessions, de la base et de la table
     tb_resultats->Active = false;
     Base_de_donnee->Close();
     Session_bdd->Close();
}


Avec ce bout de code j'obtiens une erreur me disant que la modification n'est pas possible sur une table ouverte.
Normal me direz vous, mais du coup je ne sais pas comment m'y prendre pour faire la modification sur la table fermé.
Merci par avance pour vos idées.
vendredi 8 juillet 2011 à 15:54:58 | Re : Modifier un champ Access avec BDE - c++ builder

Rionirind

Bon ben il semblerait que cela pas encore possible.

J'ai choisi une solution "lourde" en sql qui permet de donner l'impression d'un renommage :
- Copie de la table1 vers table2, (copie de la table entière par simple précaution)
- Suppression dans la table1 de tous les champs à partir de celui à renommer,
- Insertion du champ dans table1 avec le nom de champ voulu,
- Insertion des champs de la table2 dans la table1 après celui à renommer,
- Copie des données de la table2 vers la table1,
- Suppression la table2.

Mais ça ne me conviendra pas sur le long terme, car plus il y aura de données, plus cette procédure sera longue...
Donc je reste ouvert à vos suggestions.


Cette discussion est classée dans : base, table, champ, modifier, nomchamp


Répondre à ce message

Sujets en rapport avec ce message

gros problème base de données [ par skysee ] Salut,j'ai un gros problème avec mase de données.J'utillise le composant ATL pour me connecter à ma base de données.Donc il mes génère 2 classes dont Manipuler la base de registres [ par vbnul ] J'ai un peu de mal pour la base de registre,qqn pourrait il me dire comment :_Créer et modifier des clés(modifier les valeur)_supprimmer une clé_obten Comment lire écrire et modifier la base de registre ??? [ par andrealphus ] 4ndr&@lphu$je sais que vous m'avez répondu en m'envoyant sur des liens pleins de beaux exemples, mais je n'arrive pas à les incorporer à mon projet... Ado Base de données [ par bergou ] BonjourJe cherche des tables (non confidnetielles) au format :Sql Server, Oracle Windows , paradox et sybasepour effectuer des tests avec ADO.Et si po accès aux propriétés d'une table... [ par Loizo ] Salut à tous !Voila ce que j'aimerais faire :Je m'amuse à developper une appli en C++ avec Visual .net qui gere de la base de donnée.J'ouvre, je ferme Accès au base de donnée Access [ par Sat83 ] Hello,Je souhaiterais acceder a une base de donnée access comprenant differents champ (nom, prenom, age....) via Visual C++.Je suis encore assez novic accéder à un champ précis d'une table [ par Hub ] Voilà je débute un peu en base de données, et je dois accéder à un champ précis d'une table, avec c++ Builder, grâce aux pbjets ADO... Quelqu'un peut Champ non renseigné dans une base de données Access [ par aienkien ] Voila le problème. J'ai une application VC++ qui ouvre une connection avec une base de données Access.J'arrive à récupérer la valeur des champs sans p une table par classe : ça marche pas :( [ par AlphaKryss ] Salut!!!j'ai créé un executable (MFC AppWizard :) ),qui supporte les base de donnée(je sélectionne une seule table dans ma base de donnée)Voila le pla Modifier Timeout TCP (MIB) [ par valoue ] Bonjour,Je voudrais modifier une valeur de MIB (Management Information Base).En fait, je voudrais modifier le timeout de TCP.Existe t il une méthode S


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,203 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales