Bonsoir,
Je crois connaitre la réponse (négative) !
Mais au cas où mon ignorance serait crasse ...... ;-)
Peut-on déclarer un champ indicé (au sens d'un Array), dans une base
Access
?
J'explicite : je voudrais stocker dans un enregistrement de table Access,
avec une clé composite (multi-champs) un nombre certain de valeurs
numériques
(un vecteur mathématique de longueur N ).
N étant actuellement défini à 10, mais sans doute plus tard à 20, 35
ou......
Comment nommer les champs, ou les déclarer de façon à y accéder par une
boucle ?
Les deux seuls "walk-around" que je vois sont :
1°/ utiliser le principe de normalisation d'une BdD pour générer
une boucle d'enregistrements rajoutant à la clé composite,
un champ supplémentaire correspondant à l'indice :
garanti, aux performances près.......et pbs. de mise à jour !
2°/ définir les champs nommés en "val1", "val2", "val3"........
et programmer une boucle en lecture et une boucle en écriture,
qui recompose le nom de champ dans l'instruction RecordSet("val"&i)
/syntaxe correcte ? / avec une borne définie en constante...
Avez-vous de meilleures solutions à me suggérer ?
Merci de vos avis "circonstanciés" !
après nuit portant conseil
YannX
Bonsoir,
Je crois connaitre la réponse (négative) !
Mais au cas où mon ignorance serait crasse ...... ;-)
Peut-on déclarer un champ indicé (au sens d'un Array), dans une base
Access
?
J'explicite : je voudrais stocker dans un enregistrement de table Access,
avec une clé composite (multi-champs) un nombre certain de valeurs
numériques
(un vecteur mathématique de longueur N ).
N étant actuellement défini à 10, mais sans doute plus tard à 20, 35
ou......
Comment nommer les champs, ou les déclarer de façon à y accéder par une
boucle ?
Les deux seuls "walk-around" que je vois sont :
1°/ utiliser le principe de normalisation d'une BdD pour générer
une boucle d'enregistrements rajoutant à la clé composite,
un champ supplémentaire correspondant à l'indice :
garanti, aux performances près.......et pbs. de mise à jour !
2°/ définir les champs nommés en "val1", "val2", "val3"........
et programmer une boucle en lecture et une boucle en écriture,
qui recompose le nom de champ dans l'instruction RecordSet("val"&i)
/syntaxe correcte ? / avec une borne définie en constante...
Avez-vous de meilleures solutions à me suggérer ?
Merci de vos avis "circonstanciés" !
après nuit portant conseil
YannX
Bonsoir,
Je crois connaitre la réponse (négative) !
Mais au cas où mon ignorance serait crasse ...... ;-)
Peut-on déclarer un champ indicé (au sens d'un Array), dans une base
Access
?
J'explicite : je voudrais stocker dans un enregistrement de table Access,
avec une clé composite (multi-champs) un nombre certain de valeurs
numériques
(un vecteur mathématique de longueur N ).
N étant actuellement défini à 10, mais sans doute plus tard à 20, 35
ou......
Comment nommer les champs, ou les déclarer de façon à y accéder par une
boucle ?
Les deux seuls "walk-around" que je vois sont :
1°/ utiliser le principe de normalisation d'une BdD pour générer
une boucle d'enregistrements rajoutant à la clé composite,
un champ supplémentaire correspondant à l'indice :
garanti, aux performances près.......et pbs. de mise à jour !
2°/ définir les champs nommés en "val1", "val2", "val3"........
et programmer une boucle en lecture et une boucle en écriture,
qui recompose le nom de champ dans l'instruction RecordSet("val"&i)
/syntaxe correcte ? / avec une borne définie en constante...
Avez-vous de meilleures solutions à me suggérer ?
Merci de vos avis "circonstanciés" !
après nuit portant conseil
YannX
faire serait de definir une classe (dans un module de classe) qui definit
un
vecteur comme etant une collection de valeurs.
OK
Le vecteur etant une collection, on pourrait envisager autant d'elements
que
necessaire...
Pour ce qui est du stockage physique des donnees, il me semble en effet
naturel d'avoir une table avec trois colonnes : l'index du vecteur,
l'index
de la dimension, et sa valeur... Il faudra voir s'il est possible
d'obtenir
des temps de reponse acceptables pour ce scenario.
etant donné qu'il s'agit alors d'une requete SQL pré-indexée,
Une autre technique possible serait de generer une valeur de donnees
unique
pour un vecteur, peut-etre a l'aide d'une fonction implementee dans une
DLL
externe, cette valeur unique serait alors stockee dans un champ de type
Un champ binaire.........à réflechir !
J'espere que ca vous donne des idees.
Tout a fait !
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"YannX" wrote in message
news:Bonsoir,
Je crois connaitre la réponse (négative) !
Mais au cas où mon ignorance serait crasse ...... ;-)
Peut-on déclarer un champ indicé (au sens d'un Array), dans une base
Access?
J'explicite : je voudrais stocker dans un enregistrement de table
Access,
avec une clé composite (multi-champs) un nombre certain de valeurs
numériques
(un vecteur mathématique de longueur N ).
N étant actuellement défini à 10, mais sans doute plus tard à 20, 35
ou......
Comment nommer les champs, ou les déclarer de façon à y accéder par une
boucle ?
Les deux seuls "walk-around" que je vois sont :
1°/ utiliser le principe de normalisation d'une BdD pour générer
une boucle d'enregistrements rajoutant à la clé composite,
un champ supplémentaire correspondant à l'indice :
garanti, aux performances près.......et pbs. de mise à jour !
2°/ définir les champs nommés en "val1", "val2", "val3"........
et programmer une boucle en lecture et une boucle en écriture,
qui recompose le nom de champ dans l'instruction RecordSet("val"&i)
/syntaxe correcte ? / avec une borne définie en constante...
Avez-vous de meilleures solutions à me suggérer ?
Merci de vos avis "circonstanciés" !
après nuit portant conseil
YannX
faire serait de definir une classe (dans un module de classe) qui definit
un
vecteur comme etant une collection de valeurs.
OK
Le vecteur etant une collection, on pourrait envisager autant d'elements
que
necessaire...
Pour ce qui est du stockage physique des donnees, il me semble en effet
naturel d'avoir une table avec trois colonnes : l'index du vecteur,
l'index
de la dimension, et sa valeur... Il faudra voir s'il est possible
d'obtenir
des temps de reponse acceptables pour ce scenario.
etant donné qu'il s'agit alors d'une requete SQL pré-indexée,
Une autre technique possible serait de generer une valeur de donnees
unique
pour un vecteur, peut-etre a l'aide d'une fonction implementee dans une
DLL
externe, cette valeur unique serait alors stockee dans un champ de type
Un champ binaire.........à réflechir !
J'espere que ca vous donne des idees.
Tout a fait !
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"YannX" <ydx_nospam@yahoo.fr> wrote in message
news:uEMJidL2EHA.3376@TK2MSFTNGP12.phx.gbl...
Bonsoir,
Je crois connaitre la réponse (négative) !
Mais au cas où mon ignorance serait crasse ...... ;-)
Peut-on déclarer un champ indicé (au sens d'un Array), dans une base
Access
?
J'explicite : je voudrais stocker dans un enregistrement de table
Access,
avec une clé composite (multi-champs) un nombre certain de valeurs
numériques
(un vecteur mathématique de longueur N ).
N étant actuellement défini à 10, mais sans doute plus tard à 20, 35
ou......
Comment nommer les champs, ou les déclarer de façon à y accéder par une
boucle ?
Les deux seuls "walk-around" que je vois sont :
1°/ utiliser le principe de normalisation d'une BdD pour générer
une boucle d'enregistrements rajoutant à la clé composite,
un champ supplémentaire correspondant à l'indice :
garanti, aux performances près.......et pbs. de mise à jour !
2°/ définir les champs nommés en "val1", "val2", "val3"........
et programmer une boucle en lecture et une boucle en écriture,
qui recompose le nom de champ dans l'instruction RecordSet("val"&i)
/syntaxe correcte ? / avec une borne définie en constante...
Avez-vous de meilleures solutions à me suggérer ?
Merci de vos avis "circonstanciés" !
après nuit portant conseil
YannX
faire serait de definir une classe (dans un module de classe) qui definit
un
vecteur comme etant une collection de valeurs.
OK
Le vecteur etant une collection, on pourrait envisager autant d'elements
que
necessaire...
Pour ce qui est du stockage physique des donnees, il me semble en effet
naturel d'avoir une table avec trois colonnes : l'index du vecteur,
l'index
de la dimension, et sa valeur... Il faudra voir s'il est possible
d'obtenir
des temps de reponse acceptables pour ce scenario.
etant donné qu'il s'agit alors d'une requete SQL pré-indexée,
Une autre technique possible serait de generer une valeur de donnees
unique
pour un vecteur, peut-etre a l'aide d'une fonction implementee dans une
DLL
externe, cette valeur unique serait alors stockee dans un champ de type
Un champ binaire.........à réflechir !
J'espere que ca vous donne des idees.
Tout a fait !
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"YannX" wrote in message
news:Bonsoir,
Je crois connaitre la réponse (négative) !
Mais au cas où mon ignorance serait crasse ...... ;-)
Peut-on déclarer un champ indicé (au sens d'un Array), dans une base
Access?
J'explicite : je voudrais stocker dans un enregistrement de table
Access,
avec une clé composite (multi-champs) un nombre certain de valeurs
numériques
(un vecteur mathématique de longueur N ).
N étant actuellement défini à 10, mais sans doute plus tard à 20, 35
ou......
Comment nommer les champs, ou les déclarer de façon à y accéder par une
boucle ?
Les deux seuls "walk-around" que je vois sont :
1°/ utiliser le principe de normalisation d'une BdD pour générer
une boucle d'enregistrements rajoutant à la clé composite,
un champ supplémentaire correspondant à l'indice :
garanti, aux performances près.......et pbs. de mise à jour !
2°/ définir les champs nommés en "val1", "val2", "val3"........
et programmer une boucle en lecture et une boucle en écriture,
qui recompose le nom de champ dans l'instruction RecordSet("val"&i)
/syntaxe correcte ? / avec une borne définie en constante...
Avez-vous de meilleures solutions à me suggérer ?
Merci de vos avis "circonstanciés" !
après nuit portant conseil
YannX
Bonsoir,
Je crois connaitre la réponse (négative) !
Mais au cas où mon ignorance serait crasse ...... ;-)
Peut-on déclarer un champ indicé (au sens d'un Array), dans une base
Access
?
J'explicite : je voudrais stocker dans un enregistrement de table Access,
avec une clé composite (multi-champs) un nombre certain de valeurs
numériques
(un vecteur mathématique de longueur N ).
N étant actuellement défini à 10, mais sans doute plus tard à 20, 35
ou......
Comment nommer les champs, ou les déclarer de façon à y accéder par une
boucle ?
Les deux seuls "walk-around" que je vois sont :
1°/ utiliser le principe de normalisation d'une BdD pour générer
une boucle d'enregistrements rajoutant à la clé composite,
un champ supplémentaire correspondant à l'indice :
garanti, aux performances près.......et pbs. de mise à jour !
2°/ définir les champs nommés en "val1", "val2", "val3"........
et programmer une boucle en lecture et une boucle en écriture,
qui recompose le nom de champ dans l'instruction RecordSet("val"&i)
/syntaxe correcte ? / avec une borne définie en constante...
Avez-vous de meilleures solutions à me suggérer ?
Merci de vos avis "circonstanciés" !
après nuit portant conseil
YannX
Bonsoir,
Je crois connaitre la réponse (négative) !
Mais au cas où mon ignorance serait crasse ...... ;-)
Peut-on déclarer un champ indicé (au sens d'un Array), dans une base
Access
?
J'explicite : je voudrais stocker dans un enregistrement de table Access,
avec une clé composite (multi-champs) un nombre certain de valeurs
numériques
(un vecteur mathématique de longueur N ).
N étant actuellement défini à 10, mais sans doute plus tard à 20, 35
ou......
Comment nommer les champs, ou les déclarer de façon à y accéder par une
boucle ?
Les deux seuls "walk-around" que je vois sont :
1°/ utiliser le principe de normalisation d'une BdD pour générer
une boucle d'enregistrements rajoutant à la clé composite,
un champ supplémentaire correspondant à l'indice :
garanti, aux performances près.......et pbs. de mise à jour !
2°/ définir les champs nommés en "val1", "val2", "val3"........
et programmer une boucle en lecture et une boucle en écriture,
qui recompose le nom de champ dans l'instruction RecordSet("val"&i)
/syntaxe correcte ? / avec une borne définie en constante...
Avez-vous de meilleures solutions à me suggérer ?
Merci de vos avis "circonstanciés" !
après nuit portant conseil
YannX
Bonsoir,
Je crois connaitre la réponse (négative) !
Mais au cas où mon ignorance serait crasse ...... ;-)
Peut-on déclarer un champ indicé (au sens d'un Array), dans une base
Access
?
J'explicite : je voudrais stocker dans un enregistrement de table Access,
avec une clé composite (multi-champs) un nombre certain de valeurs
numériques
(un vecteur mathématique de longueur N ).
N étant actuellement défini à 10, mais sans doute plus tard à 20, 35
ou......
Comment nommer les champs, ou les déclarer de façon à y accéder par une
boucle ?
Les deux seuls "walk-around" que je vois sont :
1°/ utiliser le principe de normalisation d'une BdD pour générer
une boucle d'enregistrements rajoutant à la clé composite,
un champ supplémentaire correspondant à l'indice :
garanti, aux performances près.......et pbs. de mise à jour !
2°/ définir les champs nommés en "val1", "val2", "val3"........
et programmer une boucle en lecture et une boucle en écriture,
qui recompose le nom de champ dans l'instruction RecordSet("val"&i)
/syntaxe correcte ? / avec une borne définie en constante...
Avez-vous de meilleures solutions à me suggérer ?
Merci de vos avis "circonstanciés" !
après nuit portant conseil
YannX
"YannX" a écrit dans le message de
news:Bonsoir,
Je crois connaitre la réponse (négative) !
Mais au cas où mon ignorance serait crasse ...... ;-)
Peut-on déclarer un champ indicé (au sens d'un Array), dans une base
Access?
J'explicite : je voudrais stocker dans un enregistrement de table
Access,
avec une clé composite (multi-champs) un nombre certain de valeurs
numériques
(un vecteur mathématique de longueur N ).
N étant actuellement défini à 10, mais sans doute plus tard à 20, 35
ou......
Comment nommer les champs, ou les déclarer de façon à y accéder par une
boucle ?
Les deux seuls "walk-around" que je vois sont :
1°/ utiliser le principe de normalisation d'une BdD pour générer
une boucle d'enregistrements rajoutant à la clé composite,
un champ supplémentaire correspondant à l'indice :
garanti, aux performances près.......et pbs. de mise à jour !
2°/ définir les champs nommés en "val1", "val2", "val3"........
et programmer une boucle en lecture et une boucle en écriture,
qui recompose le nom de champ dans l'instruction RecordSet("val"&i)
/syntaxe correcte ? / avec une borne définie en constante...
Avez-vous de meilleures solutions à me suggérer ?
Merci de vos avis "circonstanciés" !
après nuit portant conseil
YannX
Hello YannX,
Personellement je le ferais par la manière purement "base de données", à
savoir :
Une table d'enregistrements principale avec une clé "compteur" (ou autre
chose unique) ainsi que les autres champs nécessaires
Une table pour les valeurs avec une clé compteur, un champ qui correspond
à
la clé unique de la table principale et un champ "Valeur".
Ensuite on utilise ADO SHAPE pour lier les deux tableaux.
Maintenant tu disposes d'un recordset de la table principale dont un des
champs contient le recordset de la table des valeurs correspondants à
l'enregistrement en cours.
Voir http://support.microsoft.com/kb/q189657/ pour des exemples de code
dont
ceci:
Simple Relation Hierarchy:
SHAPE {select * from customers}
APPEND ({select * from orders} AS rsOrders
RELATE customerid TO customerid)
which yields:
Customers.*
rsOrders
|
+----Orders.*
In the previous diagram, the parent recordset contains all fields from
the Customers table and a field called rsOrders. rsOrders provides a
reference to the child recordset, and contains all the fields from the
Orders table. The other examples use a similar notation.
Clive
"YannX" <ydx_nospam@yahoo.fr> a écrit dans le message de
news:uEMJidL2EHA.3376@TK2MSFTNGP12.phx.gbl...
Bonsoir,
Je crois connaitre la réponse (négative) !
Mais au cas où mon ignorance serait crasse ...... ;-)
Peut-on déclarer un champ indicé (au sens d'un Array), dans une base
Access
?
J'explicite : je voudrais stocker dans un enregistrement de table
Access,
avec une clé composite (multi-champs) un nombre certain de valeurs
numériques
(un vecteur mathématique de longueur N ).
N étant actuellement défini à 10, mais sans doute plus tard à 20, 35
ou......
Comment nommer les champs, ou les déclarer de façon à y accéder par une
boucle ?
Les deux seuls "walk-around" que je vois sont :
1°/ utiliser le principe de normalisation d'une BdD pour générer
une boucle d'enregistrements rajoutant à la clé composite,
un champ supplémentaire correspondant à l'indice :
garanti, aux performances près.......et pbs. de mise à jour !
2°/ définir les champs nommés en "val1", "val2", "val3"........
et programmer une boucle en lecture et une boucle en écriture,
qui recompose le nom de champ dans l'instruction RecordSet("val"&i)
/syntaxe correcte ? / avec une borne définie en constante...
Avez-vous de meilleures solutions à me suggérer ?
Merci de vos avis "circonstanciés" !
après nuit portant conseil
YannX
Hello YannX,
Personellement je le ferais par la manière purement "base de données", à
savoir :
Une table d'enregistrements principale avec une clé "compteur" (ou autre
chose unique) ainsi que les autres champs nécessaires
Une table pour les valeurs avec une clé compteur, un champ qui correspond
à
la clé unique de la table principale et un champ "Valeur".
Ensuite on utilise ADO SHAPE pour lier les deux tableaux.
Maintenant tu disposes d'un recordset de la table principale dont un des
champs contient le recordset de la table des valeurs correspondants à
l'enregistrement en cours.
Voir http://support.microsoft.com/kb/q189657/ pour des exemples de code
dont
ceci:
Simple Relation Hierarchy:
SHAPE {select * from customers}
APPEND ({select * from orders} AS rsOrders
RELATE customerid TO customerid)
which yields:
Customers.*
rsOrders
|
+----Orders.*
In the previous diagram, the parent recordset contains all fields from
the Customers table and a field called rsOrders. rsOrders provides a
reference to the child recordset, and contains all the fields from the
Orders table. The other examples use a similar notation.
Clive
"YannX" a écrit dans le message de
news:Bonsoir,
Je crois connaitre la réponse (négative) !
Mais au cas où mon ignorance serait crasse ...... ;-)
Peut-on déclarer un champ indicé (au sens d'un Array), dans une base
Access?
J'explicite : je voudrais stocker dans un enregistrement de table
Access,
avec une clé composite (multi-champs) un nombre certain de valeurs
numériques
(un vecteur mathématique de longueur N ).
N étant actuellement défini à 10, mais sans doute plus tard à 20, 35
ou......
Comment nommer les champs, ou les déclarer de façon à y accéder par une
boucle ?
Les deux seuls "walk-around" que je vois sont :
1°/ utiliser le principe de normalisation d'une BdD pour générer
une boucle d'enregistrements rajoutant à la clé composite,
un champ supplémentaire correspondant à l'indice :
garanti, aux performances près.......et pbs. de mise à jour !
2°/ définir les champs nommés en "val1", "val2", "val3"........
et programmer une boucle en lecture et une boucle en écriture,
qui recompose le nom de champ dans l'instruction RecordSet("val"&i)
/syntaxe correcte ? / avec une borne définie en constante...
Avez-vous de meilleures solutions à me suggérer ?
Merci de vos avis "circonstanciés" !
après nuit portant conseil
YannX
Hello YannX,
Personellement je le ferais par la manière purement "base de données", à
savoir :
Une table d'enregistrements principale avec une clé "compteur" (ou autre
chose unique) ainsi que les autres champs nécessaires
Une table pour les valeurs avec une clé compteur, un champ qui correspond
à
la clé unique de la table principale et un champ "Valeur".
Ensuite on utilise ADO SHAPE pour lier les deux tableaux.
Maintenant tu disposes d'un recordset de la table principale dont un des
champs contient le recordset de la table des valeurs correspondants à
l'enregistrement en cours.
Voir http://support.microsoft.com/kb/q189657/ pour des exemples de code
dont
ceci:
Simple Relation Hierarchy:
SHAPE {select * from customers}
APPEND ({select * from orders} AS rsOrders
RELATE customerid TO customerid)
which yields:
Customers.*
rsOrders
|
+----Orders.*
In the previous diagram, the parent recordset contains all fields from
the Customers table and a field called rsOrders. rsOrders provides a
reference to the child recordset, and contains all the fields from the
Orders table. The other examples use a similar notation.
Clive