Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/11/2011, 11h34   #1
Nouveau Membre du Club
 
Homme Mic Chicherie
Amoureux de la mer
Inscription : décembre 2006
Messages : 53
Détails du profil
Informations personnelles :
Nom : Homme Mic Chicherie
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Amoureux de la mer

Informations forums :
Inscription : décembre 2006
Messages : 53
Points : 36
Points : 36
Par défaut opentable refusé en DAO

Bonjour à tous
J'ai 2 bases complètement indépendantes sous Access 2002 SP3.
Je crée un enregistrement dans une table TLivret en DAO.
J'ai exactement le même code sur les 2 bases, l'un fonctionne l'autre provoque une erreur 3219 (opération non valide) sur le Set rstLivret

voici le code :
Code :
1
2
3
4
5
6
7
Dim dblivret As Database
Dim rstLivret As Recordset

Set dblivret = DBEngine.Workspaces(0).Databases(0)
Set rstLivret = dblivret.OpenRecordset("TLivret", dbOpenTable)
 rstLivret.AddNew
 rstLivret.Update
ce code ne fonctionne pas sur l'une des bases, j'ai dû remplacer le dbOpenTable par un OpenDynaset pour le faire fonctionner.

nota : J'ai exactement les mêmes références sur les 2 bases.

Bon ça fonctionne c'est le principal mais j'aimerais comprendre par curiosité.
Et ça peut peut-être servir à d'autres car j'ai passé un peu de temps à trouver la solution sur le forum.
Merci au Forum
mic352 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 13h12   #2
Expert Confirmé
 
Avatar de Godzestla
 
Homme
Chercheur de bonheur
Inscription : août 2007
Messages : 2 256
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de bonheur
Secteur : Industrie

Informations forums :
Inscription : août 2007
Messages : 2 256
Points : 2 979
Points : 2 979
Bonjour,

je ne trouve pas ici d'utilisation de DAO.
__________________
(\ _ /) Cordialement G@dz
(='.'=)

(")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.
Godzestla est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 13h14   #3
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 222
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 222
Points : 9 936
Points : 9 936
Envoyer un message via Skype™ à Domi2
Bonjour,

A priori, les tables de la première sont dans la même base que le code (dbOpenTable) et dans le 2ème cas, les tables sont liées (dbOpenDynaset).

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/11/2011, 17h35   #4
Nouveau Membre du Club
 
Homme Mic Chicherie
Amoureux de la mer
Inscription : décembre 2006
Messages : 53
Détails du profil
Informations personnelles :
Nom : Homme Mic Chicherie
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Amoureux de la mer

Informations forums :
Inscription : décembre 2006
Messages : 53
Points : 36
Points : 36
Merci Domi2
mais c'est pas ça, elles sont toutes les deux attachées.

Mic352
mic352 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 14h11   #5
Nouveau Membre du Club
 
Homme Mic Chicherie
Amoureux de la mer
Inscription : décembre 2006
Messages : 53
Détails du profil
Informations personnelles :
Nom : Homme Mic Chicherie
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Amoureux de la mer

Informations forums :
Inscription : décembre 2006
Messages : 53
Points : 36
Points : 36
Bonjour Domi2
J'ai fait un essai en plaçant la 2ème table dans la base.
En effet tu as raison :
Si la table est dans la base frontale le dbOpenTable fonctionne bien.
Si la base est dans la Dorsale il faut utiliser dbopenDynaset.

Néanmoins dans la 1ère base la table est bien dans la Dorsale et le dbopenTable fonctionne. Pourquoi ? Mystère.

Seule différence la 1ère base a été développée sous ACCESS 97
Je suis passé depuis à ACCESS 2002 et la 2ème base a été développée directement sous ACCSS 2002.
C'est peut être farfelu mais je ne vois pas d'autre différence.
De toute façon ça fonctionne c'est le principal.

Mic352.
mic352 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h35.


 
 
 
 
Partenaires

Hébergement Web