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

Ouverture de table depuis un formulaire : Mise à jour impossible

3 réponses
Avatar
LargoWinch
Bonjour,

je m'essaie à Access, et j'ai bien sûr des montagnes de questions
auxquelles j'arrive à répondre ne fouillant ci et là. Mais là, je coince
complet.

J'ai un formulaire qui présente des données issues de différentes
requêtes et tables.
Au final, les données affichées proviennent de 4 tables différentes,
l'utilisation de ce formulaire étant dédiée à la consultation des
données, la mise à jour se faisant manuellement dans les tables.
Pour faciliter cette saisie, j'ai voulu ajouter quelques boutons pour
ouvrir directement les tables, en appliquant un filtre pour ne
travailler que sur les données sélectionnées.

J'ai aussi une zone de liste dont les données proviennent d'une autre table.

Mon problème est que lorsque la fenêtre de table (ou du formulaire (*))
s'ouvrent, je ne peux pas éditer toujours les données : sur les 3 tables
que je voudrais pouvoir modifier, 1 seulement le permet (cf la dernière
procédure), les autres ne me retournant qu'un bip, sans message d'erreur.



(*) ne pouvant pas modifier les données dans la table, j'ai essayé de
créer un formulaire "standard" à partir de la table, j'obtiens donc 2
méthode, aussi insatisfaisante l'une que l'autre.

Ci dessous mon code :


------------------------------------------------
Private Sub OuvreCAL_Click()
'Ouverture du formulaire TABLE_CALCUL (formulaire standard créé à partir
de ma table) ==> ne permet pas la modif de données
On Error GoTo Err_OuvreCAL_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "TABLE_CALCUL"
DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormEdit
DoCmd.ApplyFilter , "NumCle = '" & Numero & "'"

Exit_OuvreCAL_Click:
Exit Sub

Err_OuvreCAL_Click:
MsgBox Err.Description
Resume Exit_OuvreCAL_Click

End Sub
-------------------------------------------------------------

Private Sub OuvreREC_Click()
'Ouverture de la table TABLE_RECH ==> ne permet pas la modif de données

On Error GoTo Err_OuvreREC_Click

Dim stDocName As String

stDocName = "TABLE_RECH"
DoCmd.OpenTable stDocName, , acEdit
DoCmd.ApplyFilter , "NumCle = '" & Numero & "'"

Exit_OuvreREC_Click:
Exit Sub

Err_OuvreREC_Click:
MsgBox Err.Description
Resume Exit_OuvreREC_Click

End Sub
-------------------------------------------------------------
Private Sub lstPropOpal_DblClick(Cancel As Integer)
'Ouverture de la table TABLE_RECH_LST_PROP ==> permet la modif de
données !!!

stDocName = "TABLE_RECH_LST_PROP"
DoCmd.OpenTable stDocName, , acEdit
DoCmd.ApplyFilter , "NumCle = '" & Numero & "'"

End Sub

-------------------------------------------------------------

Merci pour votre analyse experte ;)

3 réponses

Avatar
LargoWinch
J'ai écris une bêtise ? Je suis incompréhensible ? Je suis trop noob en
Accès ?
J'aimerai comprendre pourquoi un coup ca marche, un coup ca marche pas.

Merci d'avance.
Avatar
Fabien
LargoWinch a écrit :
J'ai écris une bêtise ? Je suis incompréhensible ? Je suis trop noob en
Accès ?
J'aimerai comprendre pourquoi un coup ca marche, un coup ca marche pas.

Merci d'avance.


Bonjour,
A mon avis si Access Beep c'est que tes requetes sont trop complexe pour
qu'il autorise la modifications des données qu'elles contiennent (tu as
même peut-être un message qui s'affiche sur la barre d'état en bas de la
fenetre access).
Si tu donnais le source SQL de tes requetes peut-être qu'un expert SQL
te dirais ce qui cloche et comment y remedier (si c'est possible :-))
@+
Avatar
LargoWinch
Il se trouve que Fabien a formulé :
LargoWinch a écrit :
J'ai écris une bêtise ? Je suis incompréhensible ? Je suis trop noob en
Accès ?
J'aimerai comprendre pourquoi un coup ca marche, un coup ca marche pas.

Merci d'avance.


Bonjour,
A mon avis si Access Beep c'est que tes requetes sont trop complexe pour
qu'il autorise la modifications des données qu'elles contiennent (tu as même
peut-être un message qui s'affiche sur la barre d'état en bas de la fenetre
access).
Si tu donnais le source SQL de tes requetes peut-être qu'un expert SQL te
dirais ce qui cloche et comment y remedier (si c'est possible :-))
@+



Merci.

Il n'y a rien de complexe dans ma requete : il s'agit d'une simple
requète de jonction de 3 tables. Je souhaiterai ouvrir chacun des
tables pour les éditer, ce que je ne peux pas faire pour 2 tables sur
les 3.

Mais, sur ton conseil, j'ai regardé attentivement la barre d'état, et,
effectivement, un message passe très furtivement, genre "impossible de
mettre à jour...". Mais même en mettant une pause dans le code, je
n'arrive pas à lire.

Comme je l'expliquais dans le post initial, j'ai crée un formulaire (de
base avec l'assistant de création) pour voir s'il y avait une
différence de comportement. Si j'appelle ce formulaire depuis le
formulaire "principal" par le bouton, ou si j'ouvre manuellement ce
formulaire depuis la fenêtre "Base de données" en laissant mon
formulaire "principal" ouvert, je ne peux pas editer les données. Si je
ferme mon formulaire principale, je peux éditer.
Quel principe de base ai-je raté ?


--
Largo
"Ce n'est pas parce que l'erreur se propage qu'elle devient vérité."
Gandhi