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

Disponibilité d'une table temporaire

6 réponses
Avatar
Bret
Bonjour à tous,

Voilà mon pb, dans une application sous access 2002 :
1 je supprime, si elle existe un table "Temp"
2 je créé ma table temporaire à partir d'une action docmd.openquery
requeteCréationTable
3 je compte le nombre d'enregistrements dans la table temporaire à partir
d'une commande docmd.runsql requeteCompte

Ca marche impect si je le fais une fois !
Si je refais la manoeuvre juste après, j'ai le message d'erreur 3112 -
impossible de lire les enregistrements ; pas d'autorisation de lecture sur la
table "Temp"
voire si j'insiste " 3011 - le moteur de base de données microsoft jet n'a
pas trouvé l'objet Temp etc...

Pourtant les enregistrements sont bien insérés dans la table.

Quid ?

6 réponses

Avatar
Michel_D
Bonjour,

As-tu vraiment besoin de créer une table temporaire ?

Une requête sélection suffit peut-être et comme cela ta deuxième requête
utiliserai le résultat de ta 1ère requête pour effectuer le comptage.



"Bret" a écrit dans le message de news:
Bonjour à tous,

Voilà mon pb, dans une application sous access 2002 :
1 je supprime, si elle existe un table "Temp"
2 je créé ma table temporaire à partir d'une action docmd.openquery
requeteCréationTable
3 je compte le nombre d'enregistrements dans la table temporaire à partir
d'une commande docmd.runsql requeteCompte

Ca marche impect si je le fais une fois !
Si je refais la manoeuvre juste après, j'ai le message d'erreur 3112 -
impossible de lire les enregistrements ; pas d'autorisation de lecture sur la
table "Temp"
voire si j'insiste " 3011 - le moteur de base de données microsoft jet n'a
pas trouvé l'objet Temp etc...

Pourtant les enregistrements sont bien insérés dans la table.

Quid ?




Avatar
3stone
Salut,

"Bret"
| Voilà mon pb, dans une application sous access 2002 :
| 1 je supprime, si elle existe un table "Temp"
| 2 je créé ma table temporaire à partir d'une action docmd.openquery
| requeteCréationTable
| 3 je compte le nombre d'enregistrements dans la table temporaire à partir
| d'une commande docmd.runsql requeteCompte
|
| Ca marche impect si je le fais une fois !
| Si je refais la manoeuvre juste après, j'ai le message d'erreur 3112 -
| impossible de lire les enregistrements ; pas d'autorisation de lecture sur la
| table "Temp"
| voire si j'insiste " 3011 - le moteur de base de données microsoft jet n'a
| pas trouvé l'objet Temp etc...
|
| Pourtant les enregistrements sont bien insérés dans la table.
|
| Quid ?


Comment crée et supprime tu la table ? Par code ?
Tu devrais l'afficher ici...

Et, pour compter les enregistrements, un simple
DCount() serait peut-être suffisant...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Bret
Ma table temporaire sert pour un publipostage. Le compte est pour signaler à
l'utilisateur le nbre de courriers à imprimer... et que l'opération s'est
déroulée correctement.


Bonjour,

As-tu vraiment besoin de créer une table temporaire ?

Une requête sélection suffit peut-être et comme cela ta deuxième requête
utiliserai le résultat de ta 1ère requête pour effectuer le comptage.



"Bret" a écrit dans le message de news:
Bonjour à tous,

Voilà mon pb, dans une application sous access 2002 :
1 je supprime, si elle existe un table "Temp"
2 je créé ma table temporaire à partir d'une action docmd.openquery
requeteCréationTable
3 je compte le nombre d'enregistrements dans la table temporaire à partir
d'une commande docmd.runsql requeteCompte

Ca marche impect si je le fais une fois !
Si je refais la manoeuvre juste après, j'ai le message d'erreur 3112 -
impossible de lire les enregistrements ; pas d'autorisation de lecture sur la
table "Temp"
voire si j'insiste " 3011 - le moteur de base de données microsoft jet n'a
pas trouvé l'objet Temp etc...

Pourtant les enregistrements sont bien insérés dans la table.

Quid ?








Avatar
Bret
voici le code pour la suppression et la création.
If funTableExist("Temp") = True Then DoCmd.DeleteObject acTable, "Temp"
DoCmd.OpenQuery strRequete

strRequete étant une requête création de table qui est un paramètre de ma
fonction.

je vais essayer DCount().

merci



Salut,

"Bret"
| Voilà mon pb, dans une application sous access 2002 :
| 1 je supprime, si elle existe un table "Temp"
| 2 je créé ma table temporaire à partir d'une action docmd.openquery
| requeteCréationTable
| 3 je compte le nombre d'enregistrements dans la table temporaire à partir
| d'une commande docmd.runsql requeteCompte
|
| Ca marche impect si je le fais une fois !
| Si je refais la manoeuvre juste après, j'ai le message d'erreur 3112 -
| impossible de lire les enregistrements ; pas d'autorisation de lecture sur la
| table "Temp"
| voire si j'insiste " 3011 - le moteur de base de données microsoft jet n'a
| pas trouvé l'objet Temp etc...
|
| Pourtant les enregistrements sont bien insérés dans la table.
|
| Quid ?


Comment crée et supprime tu la table ? Par code ?
Tu devrais l'afficher ici...

Et, pour compter les enregistrements, un simple
DCount() serait peut-être suffisant...

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




Avatar
Bret
Merci !
ça marche avec Dcount()

Dire que je m'emmerde à mal écrire des fonctions qui existent déjà et
fonctionnent mieux.


voici le code pour la suppression et la création.
If funTableExist("Temp") = True Then DoCmd.DeleteObject acTable, "Temp"
DoCmd.OpenQuery strRequete

strRequete étant une requête création de table qui est un paramètre de ma
fonction.

je vais essayer DCount().

merci



Salut,

"Bret"
| Voilà mon pb, dans une application sous access 2002 :
| 1 je supprime, si elle existe un table "Temp"
| 2 je créé ma table temporaire à partir d'une action docmd.openquery
| requeteCréationTable
| 3 je compte le nombre d'enregistrements dans la table temporaire à partir
| d'une commande docmd.runsql requeteCompte
|
| Ca marche impect si je le fais une fois !
| Si je refais la manoeuvre juste après, j'ai le message d'erreur 3112 -
| impossible de lire les enregistrements ; pas d'autorisation de lecture sur la
| table "Temp"
| voire si j'insiste " 3011 - le moteur de base de données microsoft jet n'a
| pas trouvé l'objet Temp etc...
|
| Pourtant les enregistrements sont bien insérés dans la table.
|
| Quid ?


Comment crée et supprime tu la table ? Par code ?
Tu devrais l'afficher ici...

Et, pour compter les enregistrements, un simple
DCount() serait peut-être suffisant...

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






Avatar
3stone
Salut,

"Bret"
| voici le code pour la suppression et la création.
| If funTableExist("Temp") = True Then DoCmd.DeleteObject acTable, "Temp"
| DoCmd.OpenQuery strRequete
|
| strRequete étant une requête création de table qui est un paramètre de ma
| fonction.

Hmm...

La table gardant les mêmes champs, perso, je préfèrerais une suppression
des enregistrements et une requête ajout, si nécessaire...
mais, comme déjà dit, une requête remplacerai cette création/suppression
encore plus avantageusement.

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