Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

renommer des objets foire avec access run-rime 2007???

19 réponses
Avatar
Alain Bourgeois
Bonjour,


j'ai une application access (un .mdb est distribué aux clients).
Un de mes clients l'exécute sous run-time 2007.
Cette application comprend une macro qui
1. importe une table X
2. supprime la table A
3. renomme la table X en A (rename, object table)

Sous run-time 2007 (ca marche dans les autres environnements),
apparemment, l'import X se passe bien, le delete A aussi, le rename non
par contre (pas d'erreur, mais il ne le fait pas!)

Quelqu'un peut-il me dire la cause? Et comment éviter cette erreur?
(c'est bête, je peux supprimer/importer des modules, mais renommer une
table sans relations semble poser plus de problèmes).


Merci,
Alain

9 réponses

1 2
Avatar
Michel_D
re,

Comme je l'ai dit dans certaine situation, cette fonctionnalitée peut
s'avérer utile (maintenance et/ou reconstruction de base).


"Alain Bourgeois" a écrit dans le message de news:
Si ce principe est si mauvais, pourquoi autoriser le rename dans une
macro???
Laisser des fonctionnalités qui ne fonctionnent pas est un non-sens.

Michel_D wrote:

"Alain Bourgeois" a écrit dans le message de news:
Moi j'appelle ca une manière de justifier des bugs.
Ces tables de paramètres sont des coefficients fournis par des
ministères et sur lesquels nous n'avons pas la main. Nous changeons la
table et un module de calcul régulièrement.
Que vous trouviez la méthode bonne ou mauvaise


C'est le principe même du fonctionnement des bases données qui trouve
que la méthode est mauvaise car sur une base en production cette
altération de la structure fonctionnelle est critique et de plus cela a
un impact sur les performances de la base car vous augmentez le volume
de la base inutilement.





Avatar
Alain Bourgeois
En fait le problème est encore pire que ca!
Ca ne marche pas non plus sous access 2007, version complète.
De plus, si je fais une nouvelle macro, l'action "rename" n'est plus
présente dans la liste sous access 2007... mais la doc 2007 y fait bien
référence comme si elle existait et dit même que ca correspond en vba à
docmd.rename (lorsqu'on fait help sur une macro importée avec un
rename).

Bref, un beau bug!

Michel_D wrote:

re,

Comme je l'ai dit dans certaine situation, cette fonctionnalitée peut
s'avérer utile (maintenance et/ou reconstruction de base).

"Alain Bourgeois" a écrit dans le message de news:
Si ce principe est si mauvais, pourquoi autoriser le rename dans une
macro???
Laisser des fonctionnalités qui ne fonctionnent pas est un non-sens.

Michel_D wrote:

"Alain Bourgeois" a écrit dans le message de news:
Moi j'appelle ca une manière de justifier des bugs.
Ces tables de paramètres sont des coefficients fournis par des
ministères et sur lesquels nous n'avons pas la main. Nous changeons la
table et un module de calcul régulièrement.
Que vous trouviez la méthode bonne ou mauvaise


C'est le principe même du fonctionnement des bases données qui trouve
que la méthode est mauvaise car sur une base en production cette
altération de la structure fonctionnelle est critique et de plus cela a
un impact sur les performances de la base car vous augmentez le volume
de la base inutilement.







Avatar
Michel_D
En fait le problème est encore pire que ca!
Ca ne marche pas non plus sous access 2007, version complète.
De plus, si je fais une nouvelle macro, l'action "rename" n'est plus
présente dans la liste sous access 2007... mais la doc 2007 y fait bien
référence comme si elle existait et dit même que ca correspond en vba à
docmd.rename (lorsqu'on fait help sur une macro importée avec un
rename).

Bref, un beau bug!


Vu qu'il faut privilégier les objets DAO ou ADO, pour moi ce bug est
mineur pour ne pas dire insignifiant.

Avatar
Dom
Bonjour,

le 'beau bug' est surtout une méconnaissance du logiciel :)
La commande Renommer est toujours présente dans les macros.
Il suffit de cliquer sur le bouton Afficher toutes les actions, dans
l'onglet Outils de macros / Créer.
Et tu en trouveras plein d'autres qui ne sont pas affichées par défaut dans
la liste pour des (mauvaises peut-être) raisons de sécurité.

Dom



En fait le problème est encore pire que ca!
Ca ne marche pas non plus sous access 2007, version complète.
De plus, si je fais une nouvelle macro, l'action "rename" n'est plus
présente dans la liste sous access 2007... mais la doc 2007 y fait bien
référence comme si elle existait et dit même que ca correspond en vba à
docmd.rename (lorsqu'on fait help sur une macro importée avec un
rename).

Bref, un beau bug!

Michel_D wrote:

re,

Comme je l'ai dit dans certaine situation, cette fonctionnalitée peut
s'avérer utile (maintenance et/ou reconstruction de base).

"Alain Bourgeois" a écrit dans le message de news:
Si ce principe est si mauvais, pourquoi autoriser le rename dans une
macro???
Laisser des fonctionnalités qui ne fonctionnent pas est un non-sens.

Michel_D wrote:

"Alain Bourgeois" a écrit dans le message de news:
Moi j'appelle ca une manière de justifier des bugs.
Ces tables de paramètres sont des coefficients fournis par des
ministères et sur lesquels nous n'avons pas la main. Nous changeons la
table et un module de calcul régulièrement.
Que vous trouviez la méthode bonne ou mauvaise


C'est le principe même du fonctionnement des bases données qui trouve
que la méthode est mauvaise car sur une base en production cette
altération de la structure fonctionnelle est critique et de plus cela a
un impact sur les performances de la base car vous augmentez le volume
de la base inutilement.










Avatar
Alain Bourgeois
Mineur? Et quand tu voudras renommer autre chose qu'une table, tu feras
comment?

Si tu étais médecin et que tu as un malade qui a mal a la jambe gauche,
tu lui fournirais les outils pour courir sur la jambe droite uniquement
ou tu regarderais la jambe gauche? :)
Désolé, mais quand je vois les réponses reçues, y a de quoi se poser de
sérieuses questions... pour des outils qui ne sont pas gratuits (à moins
que MS ne scie la branche sur laquelle il est assis).



Michel_D wrote:

En fait le problème est encore pire que ca!
Ca ne marche pas non plus sous access 2007, version complète.
De plus, si je fais une nouvelle macro, l'action "rename" n'est plus
présente dans la liste sous access 2007... mais la doc 2007 y fait bien
référence comme si elle existait et dit même que ca correspond en vba à
docmd.rename (lorsqu'on fait help sur une macro importée avec un
rename).

Bref, un beau bug!


Vu qu'il faut privilégier les objets DAO ou ADO, pour moi ce bug est
mineur pour ne pas dire insignifiant.



Avatar
Alain Bourgeois
Merci Dom, tu marques un point, en effet renommer la table fonctionne
avec access 2007 full.
Mais ca ne m'explique toujours pas pourquoi le run-time le refuse.

Dom wrote:

Bonjour,

le 'beau bug' est surtout une méconnaissance du logiciel :)
La commande Renommer est toujours présente dans les macros.
Il suffit de cliquer sur le bouton Afficher toutes les actions, dans
l'onglet Outils de macros / Créer.
Et tu en trouveras plein d'autres qui ne sont pas affichées par défaut dans
la liste pour des (mauvaises peut-être) raisons de sécurité.

Dom


En fait le problème est encore pire que ca!
Ca ne marche pas non plus sous access 2007, version complète.
De plus, si je fais une nouvelle macro, l'action "rename" n'est plus
présente dans la liste sous access 2007... mais la doc 2007 y fait bien
référence comme si elle existait et dit même que ca correspond en vba Ã
docmd.rename (lorsqu'on fait help sur une macro importée avec un
rename).

Bref, un beau bug!

Michel_D wrote:

re,

Comme je l'ai dit dans certaine situation, cette fonctionnalitée peut
s'avérer utile (maintenance et/ou reconstruction de base).

"Alain Bourgeois" a écrit dans le message de news:
Si ce principe est si mauvais, pourquoi autoriser le rename dans une
macro???
Laisser des fonctionnalités qui ne fonctionnent pas est un non-sens.

Michel_D wrote:

"Alain Bourgeois" a écrit dans le message de news:
Moi j'appelle ca une manière de justifier des bugs.
Ces tables de paramètres sont des coefficients fournis par des
ministères et sur lesquels nous n'avons pas la main. Nous changeons la
table et un module de calcul régulièrement.
Que vous trouviez la méthode bonne ou mauvaise


C'est le principe même du fonctionnement des bases données qui trouve
que la méthode est mauvaise car sur une base en production cette
altération de la structure fonctionnelle est critique et de plus cela a
un impact sur les performances de la base car vous augmentez le volume
de la base inutilement.












Avatar
3stone
Salut,

"Alain Bourgeois"
| Merci Dom, tu marques un point, en effet renommer la table fonctionne
| avec access 2007 full.
| Mais ca ne m'explique toujours pas pourquoi le run-time le refuse.


Cela semble assez logique, tout bien considéré...

Les "runtime" ne doivent pas permettre une modification de la base.
Modifier ou renommer un table peut être considéré comme un modification.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Alain Bourgeois
Je ne vois pas pq le run-time le refuserait, et ce pour les raisons
suivantes:
1. DAO l'accepte sous run-time (et si on peut le faire via dao, pq pas
via rename?)
2. Le run-time permet des modifs bien plus conséquentes et "dangereuses"
que le nom de tables, telles que la suppression et l'importation de
modules avec du code vb différent.
3. Ce serait vraiment catastrophique de dire aux clients qu'ils doivent
acheter access pour exécuter les maintenances.


3stone wrote:

Salut,

"Alain Bourgeois"
| Merci Dom, tu marques un point, en effet renommer la table fonctionne
| avec access 2007 full.
| Mais ca ne m'explique toujours pas pourquoi le run-time le refuse.

Cela semble assez logique, tout bien considéré...

Les "runtime" ne doivent pas permettre une modification de la base.
Modifier ou renommer un table peut être considéré comme un modification.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)


Avatar
Michel_D
Mineur? Et quand tu voudras renommer autre chose qu'une table, tu feras
comment?

Si tu étais médecin et que tu as un malade qui a mal a la jambe gauche,
tu lui fournirais les outils pour courir sur la jambe droite uniquement
ou tu regarderais la jambe gauche? :)


J'utiliserais la solution la plus adapté pour résoudre le problème.
(pour le problème originel, on peut passer par les collections, DAO,
ADO bref c'est pas les alternatives qui manquent).

Désolé, mais quand je vois les réponses reçues, y a de quoi se poser de
sérieuses questions... pour des outils qui ne sont pas gratuits (à moins
que MS ne scie la branche sur laquelle il est assis).


Personne ne t'empèche d'utiliser autre chose.

1 2