Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Sécurité
Sécurité Le forum qui s'occupe de votre préoccupation de sécuriser l'accès à votre application Access, ainsi qu'à la sécurité des données.
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 12/04/2007, 10h22   #1
Membre du Club
 
Inscription : juin 2005
Messages : 220
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 220
Points : 47
Points : 47
Par défaut MaJ d'une table impossible "lecture seule"

Bonjour tout le monde !

Voilà, j'ai un formulaire qui doit normalement permettre de mettre à jour des données dans une table de ma base Access, mais seulement voilà, j'ai le message suivant lorsque je clic sur le bouton de mon formulaire pour mettre à jour :

Code :
1
2
 
Erreur d'exécution '3027' Mise à jour impossible. La base de données ou l'objet est en lecture seule
Pourtant j'ai déjà réussi avec une autre méthode de mettre à jour ma table (mais j'avais un autre message d'erreur...)

Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
 ssRequete = "SELECT [idMagasin], [dateSortieMag] FROM [ReqJohann] WHERE [IdAfilliéGROUPEMENT] = '" & [Texte94] & "'"
 
'ssRequete = "SELECT idMagasin, DateSortieMag, IdAfilliéGROUPEMENT FROM PB_Affiliés INNER JOIN [PB-Magasins] ON PB_Affiliés.Numéro = [PB-Magasins].Affilié WHERE (((PB_Affiliés.IdAfilliéGROUPEMENT)='" & [Texte94] & "'))"
 
 
         Set maBase = CurrentDb
         Set monRecordset = maBase.OpenRecordset(ssRequete)
 
 
              With monRecordset
             .MoveLast ' Remplit l'objet Recordset.
             .MoveFirst
 
                 Do While Not .EOF 'puis parcours les enregistrement
 
                      monRecordset.Edit
                      monRecordset![dateSortieMag] = [Date de sortie]
                      monRecordset.Update
                     .MoveNext
                 Loop
 
         End With
Si quelqu'un voit d'où cela peut venir car là je suis tout perdu dans un océan d'incompréhension le plus total.

Merci d'avance et bonne fin de semaine.
soad029 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2007, 11h09   #2
Membre émérite
 
Avatar de jean-paul lepetit
 
Inscription : février 2005
Messages : 809
Détails du profil
Informations personnelles :
Âge : 56

Informations forums :
Inscription : février 2005
Messages : 809
Points : 830
Points : 830
Salut,

Il me semble qu'on ne peut pas faire de mise à jour sur un recordset qui est issu d'une requête sur plusieurs table....
__________________
Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)
jean-paul lepetit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2007, 14h11   #3
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Vivre
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 644
Points : 3 897
Points : 3 897
si je ne me trompe:
tu as ouvert une table par le formulaire
tu fais des modifications dessus
tu veux enregistrer ces modifications par recordset
t'as un erreur à ce moment

cela vient surement du fait que lorsque tu édites dans ton formulaire la table est vérrouillé, le temps de faire les modications, hors a ce moment toi tu la réouvre une seconde fois par recordset pour y inscrire des données mais tu oublie que la table est déjà verrouillée en modif pour le form.

met plutot:
[dateSortieMag] = [Date de sortie]
dans un événement du form genre 'Avant MAJ'
pour sauvegarder l'enregistrement (ton bouton)
Code :
DoCmd.RunCommand acCmdSaveRecord
vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2007, 14h32   #4
Membre du Club
 
Inscription : juin 2005
Messages : 220
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 220
Points : 47
Points : 47
Bonjour et merci de vos réponses.

J'ai trouvé une autre méthode finalement :

Code :
 DoCmd.RunSQL "UPDATE [PB-Magasins] set [dateSortieMag] = '" & [Date de sortie] & "' where idMagasin = '" & resu & "'"
Bonne fin de journée.
soad029 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h19.


 
 
 
 
Partenaires

Hébergement Web