Nombre de champ max access

abdo78 Messages postés 71 Statut Membre -  
 java4ever -
Bonjour,

je travaille sur application vb6 avec base de donnée access, mon problème est que j'ai atteins le nombre max de champ d une table autorisé par access , j' ai besoin de 300 champ mai la limite c 255 comment résoudre ce problème sachant aussi que j ai besoin de ce table pour générer des états.
A voir également:

2 réponses

java4ever
 
Une table avec 300 champs me semble excessive, mais pour résoudre ton pb il faut couper cette table en deux :
Fais 2 catégories de colonnes en essayant de mettre par exemple les plus importantes dans la première catégorie.

Ensuite tu crée une deuxième table, par exemple XX_COMPLEMENTS et tu lie ces deux tables en donnant la clé primaire de la deuxième table comme clé étrangère de la deuxième.
exemple : TB_INITIALE contient les champs C1, C2, C3, ....C200 plus une colonne "ID_COMPLEMENT" qui est un numérique .

TB_INITIALE_COMPLEMENT contient les champs C201 à C300 plus une clé primaire numérique ID_COMLEMENT
Chaque fois que tu insère une ligne dans la première table, il faut créer un nouvel enregistrement dans la deuxième et mettre son ID dans la colonne prévue dans la première table.
De même, quand tu dois faire un select ou un update, il faut faire une jointure.

Tu peux aussi, si tu préfère, faire le lien das l'autre sens ce qi te permet de ne pas modifier ta table initiale, mais n'oublie pas, dans les deux cas de déclarer la clé étrangère !
Ma réponse est peut-être un peu confuse, je ne connais pas ton niveau, mais le solution réside dans le fait de couper la table en 2 et de les lier pas une clé étrangère
Bon courage
0
abdo78 Messages postés 71 Statut Membre
 
merci
mais pour declarer la table dans vb est ce que je dois declarer les deux tables : TB_INITIAL et TB_INITIAL_COMPLEMENT
0
java4ever
 
Je ne sais pas trop ce que tu entends par "déclarer dans vb", mais la réponse est vraisemblablement OUI dans la mesure où c'est effectivement une nouvelle table.
Regarde quand même s'il existe un mécanisme spécifique aux relation "One to One" entre 2 tables dans ton framwork vb.qui pourrait simplifier la déclaration en question.
0