Pour gérer les clés des tables.

Le principe est qu'une table va contenir des champs qui auront la valeur des clés des autres tables.

table_keys
problems k_db2 kdb3 kdb4
124 12 45 56

db_problems
prob_ID champs1 champs2
121 xxx xxx
122 xxx xxx
123 xxx xxx
db2
db2_ID champs1 champs2
09 xxx xxx
10 xxx xxx
11 xxx xxx
db3
db3_ID champs1 champs2
42 xxx xxx
43 xxx xxx
44 xxx xxx
db4
db4_ID champs1 champs2
53 xxx xxx
54 xxx xxx
55 xxx xxx

Lorsqu'il est nécessaire de faire une insertion dans une table, La valeur est recherché dans le champ correspondant de la table des clés.

Exemple :
Pour faire une insertion supplémentaire dans la table db_problems, on va chercher (SELECT) la valeur de problems (124). On additionne cette valeur de 1 (125) et on la met à jour (UPDATE) dans la table table_keys (125)

table_keys
k_db1 k_db2 kdb3 kdb4
125 12 45 56

La valeur 124 est concervé et va servir de clé pour la table db_problems

db_problems
db1_ID champs1 champs2
121 xxx xxx
122 xxx xxx
123 xxx xxx
124 xxx xxx

 

En amont sur la même page ou sur une autre page en include

On crée une fonction : GetUnique

adoCon est le nom de la connection

dbkey est le nom du champ. Il aura pour valeur le nom défini en aval (problems) pour notre exemple

key = Cint(adoRec(dbname)) => on récupère la valeur 124

GetUnique = key => on donne la valeur 124 à GetUnique

Ensuite on incrémente key de +1

Au moment de l'insertion dans une table

On appel la fonction GetUnique

On obtient la valeur de GetUnique (124 dans notre exemple). Cette valeur peut ensuite être utilisé pour l'insertion dans la table db_problems
Remarque : c'est à ce moment que l'on défini la valeur de dbkey qui correspond à problems.

N'ayant pas encore réussi à exploiter le code ci-dessus, j'ai fait le suivant :

Hit-Parade