Disponibilité d'une table temporaire

Le
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 ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel_D
Le #6385831
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"
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 ?




3stone
Le #6385821
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)
Bret
Le #6385811
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"
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 ?








Bret
Le #6385791
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)




Bret
Le #6385781
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)






3stone
Le #6385771
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)
Publicité
Poster une réponse
Anonyme