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

Pour Microsoft via les MVP, si possible.

5 réponses
Avatar
Richard_35
Bonjour à tous les MVP,

Lors d'une création d'une base Access ".mdb" en ".mde", il y a souvent le
message :
"Microsoft Office Access n'a pas pu créer une base de données MDE."
qui occasione beaucoup de post dans tous les forums Access...

Ce message laisse à penser que le nombre d'objets Access dans la base est en
cause : "...un nombre considérable de références TableID sont créées pour
chaque table..."

Or, il s'agit, bien souvent, d'erreur de compilation, même s'il n'existe
qu'un seul objet...

Il ne me semble pas compliqué, pour Microsoft, de préciser la cause de ce
message d'erreur, car, en résolvant les erreurs de compilation, la création
du ".mde" s'effectue correctement : le processus de création en ".mde" sait
donc pourquoi il affiche ce message (il tente, lui-même, de compiler).
Pourquoi n'indique-t-il pas, "en clair" : "Microsoft Office Access n'a pas pu
créer une base de données MDE à cause d'erreur de compilation." ? (ou un
message du genre).

Si nos MVP (que je remercie, au passage, pour leur aide) pouvaient remonter
le message à Microsoft, je pense que cela économiserait beaucoup de post dans
les divers forums...

Merci d'avance,
Richard.

5 réponses

Avatar
3stone
Salut,

"Richard_35"
| Lors d'une création d'une base Access ".mdb" en ".mde", il y a souvent le
| message :
| "Microsoft Office Access n'a pas pu créer une base de données MDE."
| qui occasione beaucoup de post dans tous les forums Access...
|
| Ce message laisse à penser que le nombre d'objets Access dans la base est en
| cause : "...un nombre considérable de références TableID sont créées pour
| chaque table..."


laisse à penser ? pourquoi ?


| Or, il s'agit, bien souvent, d'erreur de compilation, même s'il n'existe
| qu'un seul objet...


Oui, et c'est archi-connu ;-)

Pour preuve :
http://www.self-access.com/access/grenier/acRedir.php?idƒ

Ce qui est bien plus étonnant, c'est de vouloir faire une MDE avec
du code qui "ne passe pas" ;-(
Lorsque l'on écrit du code, ou simplement si on le modifie, on compile
avant de sortir du module et même avant de sauver !

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

(je reposte, car ma première réponse n'a pas été enregistrée sur le site).

Merci de tes observations.

Le message "laisse à penser" car, il ne parle que du nombre d'objets, et
non d'erreur de compilation.

Je suis d'accord avec toi, concernant l'obligation de compiler le code
avant de sortir, ce que je vais faire appliquer (".mde" recomandé pour passer
en runtime). Mais, cette compilation n'est pas obligatoire, donc,
statistiquement :
- il existera, toujours, des programmeurs qui sortiront sans compiler
- et donc, il existera, toujours, des programmeurs qui auront besoin de
compiler (notamment, pour passer de ".mdb" en .mde")
- et, enfin, il existera, toujours, des programmeurs qui iront sur les
forums, au mieux, pour rechercher une réponse, au pire, pour reposer une
question maintes fois posée.

Le processus de conversion de ".mdb" en ".mde" est capable de nous dire
que cette conversion a échoué à cause d'erreur(s) de compilation
persistante(s) car, en les résolvant, ce processus se déroule normalement ;
il ne me semble donc pas compliqué de le signaler au programmeur qui évitera,
alors, de perdre du temps (ainsi que les bonnes âmes qui lui répondent). Ma
démarche s'inscrit dans un esprit d'amélioration continue, sans plus, pour un
niveau de difficulté qui ne me semble pas énorme (mais, je peux me tromper).

Merci de ta patience et de ta compétence (et de celle de tous les MVP),
qui m'a souvent aidé.

A bientôt,
Richard.

"3stone" a écrit :

Salut,

"Richard_35"
| Lors d'une création d'une base Access ".mdb" en ".mde", il y a souvent le
| message :
| "Microsoft Office Access n'a pas pu créer une base de données MDE."
| qui occasione beaucoup de post dans tous les forums Access...
|
| Ce message laisse à penser que le nombre d'objets Access dans la base est en
| cause : "...un nombre considérable de références TableID sont créées pour
| chaque table..."


laisse à penser ? pourquoi ?


| Or, il s'agit, bien souvent, d'erreur de compilation, même s'il n'existe
| qu'un seul objet...


Oui, et c'est archi-connu ;-)

Pour preuve :
http://www.self-access.com/access/grenier/acRedir.php?idƒ

Ce qui est bien plus étonnant, c'est de vouloir faire une MDE avec
du code qui "ne passe pas" ;-(
Lorsque l'on écrit du code, ou simplement si on le modifie, on compile
avant de sortir du module et même avant de sauver !

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




Avatar
3stone
Salut,

"Richard_35"
[...]
| - il existera, toujours, des programmeurs qui sortiront sans compiler

comme il existe des conducteurs ivres, mais, sont-ce de bons conducteurs,
ou est-il conseillé de les imiter ? ;-)


| - et donc, il existera, toujours, des programmeurs qui auront besoin de
| compiler (notamment, pour passer de ".mdb" en .mde")

tout code "utilisé" est compilé _avant_ la tentative de passer en mde...
la compilation a alors lieu "automatiquement", mais avant exécution.

Lorsque l'on écrit du code et qu'avant de sortir, on demande la compilation,
*tous les modules* non marqués "compilés" sont compilés et doivent être
correct au moins au niveau de la syntaxe.
Les erreurs grossières sont ainsi évitées.

Dans le cas ou tu sors de l'éditeur, que tu lances par exemple ton
formulaire, seul le code utilisé est compilé avant exécution...
En cas de problème sérieux, cela peut conduire à cette fameuse
corruption de l'application, du formulaire par exemple (je ne parle pas
ici de la corruption des données) et qui demande alors un /decompile
suivit d'une vérification minutieuse de tout le code.
Souvent le formulaire corrompu ne sera pas récupérable.

Tout ceci sans parler du fait que lors d'un défaut de compilation,
le fait d'avoir démarré un ou des formulaires et les restrictions sur
ceux-ci, le résultat peut être inutilement agravé en regard d'une
compilation faite avant la sortie de l'éditeur.

Ce que je regrette personnellement, est justement le fait que l'on
puisse lancer un exécution du code sans la demande expresse
de sa compilation, ce qui est en général totalement impossible avec
d'autres langages...

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

Désolé, mais nous ne sommes pas dans le même débat.

Pour reprendre ton exemple qui, à mon sens, n'est pas en rapport avec ma
requête : il existe, effectivement, des conducteurs ivres, et ce ne sont pas
de bons conducteurs. Pour autant, notre système continue de les soigner, en
cas d'accident... et heureusement.

Pour le reste, je suis entièrement d'accord avec toi : il devrait être
obligatoire de compiler (ce qui résoudrait, entres autres, le sujet de ce
fil).

Mais, mon souhait est simple : tant que ce n'est pas obligatoire, il y
aura des tentatives de passage de ".mdb" en ".mde" qui se planteront avec un
message d'erreur imprécis qui déclenche des fils de discussion inutiles. Il
suffirait que Microsoft affine, un tant soit peu, sont message d'erreur afin
de diriger les programmeurs dans une direction plus juste. Tu parlais
d'autres langages compilés ; leurs messages d'erreurs de compil sont, en
général, clairs et donne, au moins, une piste judicieuse au programmeur.

J'insiste car, comme je l'ai précisé maintes fois, il ne semble y avoir
aucune difficulté technique à affiner ce message : le processus "sait" qu'il
s'est planté à cause d'erreur(s) de compil persistante(s) et non à cause du
nombre d'objets importants. Il suffit, simplement, qu'il l'indique. Par
contre, je ne connais pas la procédure de demande à Microsoft qui est,
peut-être, lourde... dans ce cas, pas de problème, nous pouvons continuer
comme maintenant.

Merci, en tout cas, de ta patience,
Richard.

"3stone" a écrit dans le message de news:
OO3StAi$
Salut,

"Richard_35"
[...]
| - il existera, toujours, des programmeurs qui sortiront sans compiler

comme il existe des conducteurs ivres, mais, sont-ce de bons conducteurs,
ou est-il conseillé de les imiter ? ;-)


| - et donc, il existera, toujours, des programmeurs qui auront besoin
de
| compiler (notamment, pour passer de ".mdb" en .mde")

tout code "utilisé" est compilé _avant_ la tentative de passer en mde...
la compilation a alors lieu "automatiquement", mais avant exécution.

Lorsque l'on écrit du code et qu'avant de sortir, on demande la
compilation,
*tous les modules* non marqués "compilés" sont compilés et doivent être
correct au moins au niveau de la syntaxe.
Les erreurs grossières sont ainsi évitées.

Dans le cas ou tu sors de l'éditeur, que tu lances par exemple ton
formulaire, seul le code utilisé est compilé avant exécution...
En cas de problème sérieux, cela peut conduire à cette fameuse
corruption de l'application, du formulaire par exemple (je ne parle pas
ici de la corruption des données) et qui demande alors un /decompile
suivit d'une vérification minutieuse de tout le code.
Souvent le formulaire corrompu ne sera pas récupérable.

Tout ceci sans parler du fait que lors d'un défaut de compilation,
le fait d'avoir démarré un ou des formulaires et les restrictions sur
ceux-ci, le résultat peut être inutilement agravé en regard d'une
compilation faite avant la sortie de l'éditeur.

Ce que je regrette personnellement, est justement le fait que l'on
puisse lancer un exécution du code sans la demande expresse
de sa compilation, ce qui est en général totalement impossible avec
d'autres langages...

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



Avatar
3stone
Salut,

"Richard_35"
[...]
| Par contre, je ne connais pas la procédure de demande à Microsoft qui est,
| peut-être, lourde...

Elle existe, et nous disposons même d'un "canal" spécial...

Mais, comme le montre le lien que je t'avais indiqué, ce comportement existe
au moins depuis Access 97... 10 ans ;-(
Et dans ce cas, on peut s'attendre au mieux à la réponse: "by design".

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