BDD ACCESS : mise à jour des tables
Résolu/Fermé
Tyfon
Messages postés
43
Date d'inscription
mercredi 22 août 2007
Statut
Membre
Dernière intervention
7 février 2022
-
14 févr. 2008 à 18:54
Ben - 16 mars 2010 à 10:25
Ben - 16 mars 2010 à 10:25
A voir également:
- BDD ACCESS : mise à jour des tables
- Access appdata - Guide
- Avis stream access ✓ - Forum Virus
- Hns-self-wan-access-ipv6 ✓ - Forum Réseau
- Bios access - Guide
- You don't have permission to access this resource.server unable to read htaccess file, denying access to be safe ✓ - Forum Debian
8 réponses
Tyfon
Messages postés
43
Date d'inscription
mercredi 22 août 2007
Statut
Membre
Dernière intervention
7 février 2022
12
21 févr. 2008 à 05:41
21 févr. 2008 à 05:41
OK, et merci pour cette solution proposée.
Pour l'instant je fais une pause car je dois mabsenter un mois plein.
à +
Pour l'instant je fais une pause car je dois mabsenter un mois plein.
à +
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 à 22:39
15 févr. 2008 à 22:39
Comment est la relation entre les deux tables? Un à plusieurs, un à un, non définie? Et est ce que tu as un formulaire avec sous-formulaire???
Si la relation est de un à plusieurs mais que tu n'as pas de sous-formulaire, ou que la relation est non définie, ton problème n'est pas étonnant. Y a t-il des clés dans tes tables???
Si la relation est de un à plusieurs mais que tu n'as pas de sous-formulaire, ou que la relation est non définie, ton problème n'est pas étonnant. Y a t-il des clés dans tes tables???
Tyfon
Messages postés
43
Date d'inscription
mercredi 22 août 2007
Statut
Membre
Dernière intervention
7 février 2022
12
18 févr. 2008 à 19:37
18 févr. 2008 à 19:37
Bonsoir et merci d'avoir répondu.
ma bdd est constituée de 2 tables 1 table principale (les individus) avec clé = numéro auto, 1 table secondaire (les performances de chaque individu) avec clé = numéro auto
La liaison est de type 1 à 1 avec liaison sur les 2 clés.
Pas de sous-fomulaire, j'appelle par Select dès la construction de la table tous les éléments des 2 tables dont j'ai besoin et tout s'affiche normalement.
Je navigue très bien entre les enregistrements, les données des 2 tables coïncident bien, mais je ne peux ni modifier un élément, ni supprimer un élément ni en rajouter.
Je suis un peu désolé d'avoir posté cette demande sur ce forum car je viens de découvrir qu'il y en avait un autre concernant la programmation.
Je vais attendre un peu et je posterai à nouveau ce message sur le forum programmation.
à+
ma bdd est constituée de 2 tables 1 table principale (les individus) avec clé = numéro auto, 1 table secondaire (les performances de chaque individu) avec clé = numéro auto
La liaison est de type 1 à 1 avec liaison sur les 2 clés.
Pas de sous-fomulaire, j'appelle par Select dès la construction de la table tous les éléments des 2 tables dont j'ai besoin et tout s'affiche normalement.
Je navigue très bien entre les enregistrements, les données des 2 tables coïncident bien, mais je ne peux ni modifier un élément, ni supprimer un élément ni en rajouter.
Je suis un peu désolé d'avoir posté cette demande sur ce forum car je viens de découvrir qu'il y en avait un autre concernant la programmation.
Je vais attendre un peu et je posterai à nouveau ce message sur le forum programmation.
à+
LatelyGeek
Messages postés
1758
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
5 janvier 2023
550
19 févr. 2008 à 20:13
19 févr. 2008 à 20:13
Juste une question: Si chaque individu ne peut avoir qu'un enregsitrement dans la table Performances, pourquoi avoir fait deux tables????? Les liaisons 1 à 1 sont quand même réservées à des cas un peu particuliers, et le tien ne semble pas nécessiter cette structure de base - mais je me trompe peut-être...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Effectivement dans mon exemple j'aurais pu ne faire qu'une seule table.
La réalité est que la table individus comprend 19 champs concernant les individus et la table performances comprend des performances de nature très diverses.
J'ai donc voulu séparer les types d'informations en mettant 2 tables séparées.
J'ai trouvé la solution pour mettre à jour mes 2 tables à partir de mon formulaire:
1) j'ai mis comme clé principale de la table performances une zone numérique (et non pas un numéro auto), ce qui fait que pour toute création d'un individu, il se crée un enregistrement performances vide.
2) j'ai modifié les relations en mettant une relation 1 à 1 entre les 2 tables
et maintenant tout fonctionne bien.
Nouvelle question :
pour l'instant j'ai créé une seule table performances "Perf 2008". Comment faire pour ne pas avoir une table séparée pour "perf 2007"?
J'ai pensé rajouter à la clé d'acès de la table "perf 2008" (que je baptiserai Performances) une clé secondaire (année) et saisir dans mon formulaire l'année de la performance pour n'atteindre que la perf de l'individu relative à l'année saisie.
Comment faire celà dans mon formulaire?
Effectivement dans mon exemple j'aurais pu ne faire qu'une seule table.
La réalité est que la table individus comprend 19 champs concernant les individus et la table performances comprend des performances de nature très diverses.
J'ai donc voulu séparer les types d'informations en mettant 2 tables séparées.
J'ai trouvé la solution pour mettre à jour mes 2 tables à partir de mon formulaire:
1) j'ai mis comme clé principale de la table performances une zone numérique (et non pas un numéro auto), ce qui fait que pour toute création d'un individu, il se crée un enregistrement performances vide.
2) j'ai modifié les relations en mettant une relation 1 à 1 entre les 2 tables
et maintenant tout fonctionne bien.
Nouvelle question :
pour l'instant j'ai créé une seule table performances "Perf 2008". Comment faire pour ne pas avoir une table séparée pour "perf 2007"?
J'ai pensé rajouter à la clé d'acès de la table "perf 2008" (que je baptiserai Performances) une clé secondaire (année) et saisir dans mon formulaire l'année de la performance pour n'atteindre que la perf de l'individu relative à l'année saisie.
Comment faire celà dans mon formulaire?
LatelyGeek
Messages postés
1758
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
5 janvier 2023
550
20 févr. 2008 à 17:25
20 févr. 2008 à 17:25
Bonne solution, tu dois rajouter le champ année dans la table Performances. ce qui justifie à ce moment là l'existence de deux tables; La relation deviendra une relation de 1 à plusieurs..
Le formulaire serait à ce moment là basé sur une requête dans laquelle l'année serait l'année en cours (Critères: Année(Date())
Si tu veux pouvoir choisir l'année des performances à visualiser, tu mets un critères paramétré à la place ([De quelle année souhaitez vous visualiser les performances?])
Ou alors tu mets un champ indépendant dans ton formulaire de type liste modifiable basée sur les années présentes dans la table Performances, la requête fait référence à ce champ du formulaire (Clic droit - Créer dans la zone Critères de la requête) et tu mets un petit bout de VB Après MAJ de ce champ: DoCmd.ShowAllRecords
Une autre solution serait un formulaire avec sous-formulaire, qui te permettrait de consulter toutes les années en même temps!!!
Le formulaire serait à ce moment là basé sur une requête dans laquelle l'année serait l'année en cours (Critères: Année(Date())
Si tu veux pouvoir choisir l'année des performances à visualiser, tu mets un critères paramétré à la place ([De quelle année souhaitez vous visualiser les performances?])
Ou alors tu mets un champ indépendant dans ton formulaire de type liste modifiable basée sur les années présentes dans la table Performances, la requête fait référence à ce champ du formulaire (Clic droit - Créer dans la zone Critères de la requête) et tu mets un petit bout de VB Après MAJ de ce champ: DoCmd.ShowAllRecords
Une autre solution serait un formulaire avec sous-formulaire, qui te permettrait de consulter toutes les années en même temps!!!
dissou84
Messages postés
11
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
30 avril 2009
30 avril 2009 à 10:56
30 avril 2009 à 10:56
bonjour ,je travaail sur le developpement d'une vb dans access 2007 voilà j'ai les tables suivants zone,refgion,secteur la clé de la table region migre dans secteur et celui de secteur dans zone et zone dans celui de groupement ,alors j'ai une autre table qui comporte la listes de tous les region,secteur,zone,groupement pour remplir mes tables j'ai crée une requéte d'ajout sur chacune de ces tables mais la requete m'affiche bien la liste mais refuse de transferer les information vers mes tables ,jai le message suivant mcaccess ne peutr pas ajouter tous les enregistrement de la requetes ajout
pourtant losque j'annule les relations la requetes fonctionne correctement
voici la listes de mes champ
region (coderegion,nom_region )
secteur(code_sectzeur,nom_secteur,#coderegion)
zone(code_zone,nom_zone,#code_secteur)
groupement (code_group,nom_goup,#code_zones
latblist (num,nom,car)
dans latbliste ,on retrouve toute les infoprmations consernant les nom de region,secteur,zone,group la champ car permet de determiner si c'est la reg,zone,secteur,group, dans ce champs la difference se fait au niveau du premier caractere utilise donc R,S,z,g
voici la requete que j'ai écrite pour le secteur
insert into secteur(code_secteur,nom_secteur)
select left( latbliste.(num),1), num,nom
from latbliste
where car='s'
et bien je crois que là vous pouvez mieux me comprendre
le msg estr mcsf à attribué laa valeur 0 à champ à la suite d'une ereur de conversion de données ,9 enregistrement non pas été ajoutés à la table à la validation
pourtant losque j'annule les relations la requetes fonctionne correctement
voici la listes de mes champ
region (coderegion,nom_region )
secteur(code_sectzeur,nom_secteur,#coderegion)
zone(code_zone,nom_zone,#code_secteur)
groupement (code_group,nom_goup,#code_zones
latblist (num,nom,car)
dans latbliste ,on retrouve toute les infoprmations consernant les nom de region,secteur,zone,group la champ car permet de determiner si c'est la reg,zone,secteur,group, dans ce champs la difference se fait au niveau du premier caractere utilise donc R,S,z,g
voici la requete que j'ai écrite pour le secteur
insert into secteur(code_secteur,nom_secteur)
select left( latbliste.(num),1), num,nom
from latbliste
where car='s'
et bien je crois que là vous pouvez mieux me comprendre
le msg estr mcsf à attribué laa valeur 0 à champ à la suite d'une ereur de conversion de données ,9 enregistrement non pas été ajoutés à la table à la validation
Bonjour à tous,
Je viens à vous car je suis débutant en MS Access et le language VB et je developpe une appli' de gestion des utilisateurs pour sécuriser une base de données en attribuant différents droits (Insert/Update/Delete) pour chacun des forms selon le user..
J'ai jusqu'ici réussis, à récupérer le nom du user logué, son ID et lui attribuer des droits sur le form en cours...
Je cherche maintenant à créer un écran de saisie pour l'admin qui lui servirait à mettre à jour la table que j'ai créée servant à assigner des droit spécifique selon le user logué...
J'ai donc creé un nouveau form avec un combobox affichant les différents profiles (admin/user/visitor) mais je ne sais pas du tout comment coder cela :(
J'aimerais que selon le profile sélectionné une table s'affiche avec le nom des forms et leurs droits respectifs, et que si aucun profile n'est sélectionné --> MSGBOX "Please select a profile"
Voilà voilà merci d'avance à tous !
Je viens à vous car je suis débutant en MS Access et le language VB et je developpe une appli' de gestion des utilisateurs pour sécuriser une base de données en attribuant différents droits (Insert/Update/Delete) pour chacun des forms selon le user..
J'ai jusqu'ici réussis, à récupérer le nom du user logué, son ID et lui attribuer des droits sur le form en cours...
Je cherche maintenant à créer un écran de saisie pour l'admin qui lui servirait à mettre à jour la table que j'ai créée servant à assigner des droit spécifique selon le user logué...
J'ai donc creé un nouveau form avec un combobox affichant les différents profiles (admin/user/visitor) mais je ne sais pas du tout comment coder cela :(
J'aimerais que selon le profile sélectionné une table s'affiche avec le nom des forms et leurs droits respectifs, et que si aucun profile n'est sélectionné --> MSGBOX "Please select a profile"
Voilà voilà merci d'avance à tous !