[ACCESS 97] Modif impossible ds formulaire

Résolu/Fermé
AGR26 Messages postés 16 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 16 octobre 2008 - 5 févr. 2008 à 15:43
lenny83500 Messages postés 2 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 22 mars 2008 - 22 mars 2008 à 12:47
Bonjour,

Je travaille actuellement su rune base de données sur ACCESS 97
J'ai un problème dans un de mes formulaires de ma base de données.
Le formulaire en question est composé de:
* données directement mises dans le formulaire
* un sous formulaire.
Les deux parties sont bien reliées par une relation père-fils. Pour cela, il n'y a pas de problème.
J'ai bien noté dans propriétés "modification données": "OUI"...

Le problème quand j'affiche le formulaire est que le sous formulaire peut être modifié (ce que je voulais!!! ) mais la 1ere partie (composée de champs provenant d'une seule table) ne peut pas être modifié... à chaque fois que je veux modifier quelque chose j'entend un "BIP"! et un message "impossible de modifier ce recordset"

Je ne vois pas pourquoi je n'arrive pas à modifier cette partie là... Ai-je oublié quelque chose?

Auriez-vous quelques idées à me soumettre?

Merci d'avance

AG

4 réponses

LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
6 févr. 2008 à 00:28
Plusieurs possibilités:

- Le formulaire principal est basé sur une requête comprenant un regroupement, ce qui en empêchera la modification même si tous les champs viennent de la même table

- Les relations entre les tables du formulaire prinipal et du sous-formulaire ne sont pas "claires" pour Access.

Solution:
D'abord, vérifier que le formulaire permettrait d'ajouter des enregistrements dans la table (Le bouton Nouvel enregistrement en bas du formulaire est actif)
Ca n'est vraisemblablement pas le cas.

Passer le formulaire en mode Création, aller dans la propriété "Source", cliquer sur le bouton à 3 points à droite, et vérifier qu'il n'y a aucune opération sur les données. même pas un regroupement mais évidemment encore moins une somme ou une moyenne... Sinon, Access ne peut pas "deviner" quekl enregistrement de la table source il doit modifier. Il y a une logique!

Tiens moi au courant.
4
AGR26 Messages postés 16 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 16 octobre 2008 1
11 févr. 2008 à 08:46
Bonjour,
Merci pour ta réponse.

Le formulaire principal est basé essentiellement sur une seule table. Mais, effectivement, j'ai pour une colonne une formule SQL:

NomRégionSQL: (SELECT REGION.Région from REGION WHERE ([REGION].[N°Classement]= (SELECT [CHANGEMENT DE REGION DES LIGNES].[N°Classement] FROM [CHANGEMENT DE REGION DES LIGNES] WHERE ((([CHANGEMENT DE REGION DES LIGNES].[N°])=([OUVRAGE].[N°]))and(([CHANGEMENT DE REGION DES LIGNES].[Km début])<=([1/2 OUVRAGE].[Kmd ots]))and(([CHANGEMENT DE REGION DES LIGNES].[Km fin])>([1/2 OUVRAGE].[Kmd ots])));));)

Donc si je comprend bien, ce serait cette colonne qui me poserait problème...
Pour explication, cette colonne est le nom de la région où je met un critère particulier (Choisir la région) pour trouver plus facilement mes ouvrages...

Le problème est que je ne peux pas enlever cette colonne...
Est-il possible de modifier les autres champs sans vouloir modifier "NomRégionSQL"???
1
lenny83500 Messages postés 2 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 22 mars 2008 1
22 mars 2008 à 12:47
comment mettre le programme iphone sur un lg viewty merci de me repondre
1
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
15 févr. 2008 à 12:29
A mon sens, il serait préférable de baser le formulaire sur une requête.

Dans cette requête, tu mettrais un critère sur la région.
Ce critère serait choisi dans une zone de liste modifiable, que tu mets soit dans un formulaire à part avec un bouton qui lance ton formulaire avec sous-formulaire, soit dans le formulaire principal lui-même, avec une ligne de VBA après MAJ, qui dise DoCmd.ShowAllRecords ou qqchose dans ce goût là
Et cette zone de liste serait alimentée par le SQL que tu as décrit plus haut.

Qu'en dis-tu?
0