Page 1 sur 4

[Résolu][Base] Des affaires criminelles du 18e siècle

MessagePublié: 24 Fév 2013 13:22
par Kitana
Bonjour à tous !

Dans le cadre de mon mémoire, je dois apprendre à utiliser base. En effet je dois faire une base de données pour réaliser des statistiques.

Cela fait plusieurs jours que je me casse la tête :fou: . J'ai lu pas mal de mode d'emploi, et j'ai compris comment faire une table et un formulaire. J'ai également réussi à créer des menus déroulants (bien que je ne sois pas certaine que ma technique soit la bonne, quelqu'un saurait-il m'expliquer le moyen le plus rapide, par ex, pour choisir entre sexe féminin et masculin ?). J'ai l'impression de ne pas avancer... Le problème est que je n'ai personne pour m'aider ni pour m'expliquer et je ne sais même pas ce que je peux ou ne peux pas faire. Je dois encoder plus de 400 fiches et le formulaire n'est toujours pas fait...

En résumé je travaille sur des affaires criminelles du 18e siècle. Mon formulaire doit donc contenir des choses très simples comme le nom de la personne, sexe, âge etc. Les choses se compliquent par ex quand il s'agit du statut socio-professionnel. Voilà ce que j'aurais aimé faire, mais est-ce possible ?

STATUT SOCIOPROFESSIONNEL
(menu déroulant)
- Ecclésiastique
- Noble
- Militaire
- Bourgeois (etc.)
- Gens du peuple

Puis, lorsqu'un des champs est choisi, pouvoir préciser. Par ex, si je choisi "gens du peuple", pouvoir ensuite choisir entre :
- Domestique
- Marchand
- Artisan (etc.)

et à la limite pouvoir encore préciser ensuite sur le type d'artisanat

Est-ce que cela est possible ? si oui comment ?

Autre question, si c'est possible, est-ce que cette manière de faire ne posera pas problème ensuite pour exporter dans Calc et réaliser mes statistiques ?

Puis-je également rajouter des champs à un formulaire déjà réalisé ?

Je vous prie d'avance de m'excuser pour toutes ces bêtes questions et vous remercie pour vos réponses

 Ajout : Merci à jeanmimi pour sa réponse ! Je joins au message ce que j'ai déjà réalisé. Ce n'est qu'un début car je dois mettre beaucoup d'autres entrées. Vous verrez notamment comment j'ai fait les menus déroulants... 

Re: Des affaires criminelles du 18e siècle

MessagePublié: 24 Fév 2013 13:46
par jeanmimi
Je regarde ta base.
La Table alphab_matrim semble indiquer que lorsqu'on est célibataire, on sait écrire si on est marié, ce n'est plus le cas .... en fait, il faudrait une deuxième table pour le statut matrimonial.

Re: Des affaires criminelles du 18e siècle

MessagePublié: 24 Fév 2013 13:55
par Kitana
Merci d'avoir regardé !

Je vais modifier. Mais donc c'est bien de cette manière qu'on fait les menus déroulants ? Est-ce que tu saurais m'expliquer comment faire les sous champs et leur menu déroulant ? (tu m'as parlé de macro, mais je dois avouer que je n'y connais absolument rien)

encore merci !

Re: Des affaires criminelles du 18e siècle

MessagePublié: 24 Fév 2013 14:05
par jeanmimi
Kitana a écrit:Mais donc c'est bien de cette manière qu'on fait les menus déroulants ?
L'idée est là, un code SQL pour chercher l'enregistrement, mais il y a une anomalie : dans Base, il ne faut pas stocker dans la Table le texte (ou valeur) de la table source, mais seulement l'ID correspondant.

Re: Des affaires criminelles du 18e siècle

MessagePublié: 24 Fév 2013 15:10
par Kitana
Est-ce bon comme cela ?

Re: Des affaires criminelles du 18e siècle

MessagePublié: 24 Fév 2013 15:24
par jeanmimi
Oui, ça l'air très bien.
Il te reste à supprimer les champs inutiles dans le formulaire.

Re: Des affaires criminelles du 18e siècle

MessagePublié: 24 Fév 2013 15:54
par Kitana
Merci !

Désolée, mais je ne comprends pas pourquoi je dois supprimer ces champs là...

Re: Des affaires criminelles du 18e siècle

MessagePublié: 24 Fév 2013 16:02
par jeanmimi
Parce qu'ils n'apportent pas d'information nouvelle, parce qu’ils n'affichent que l'ID de l'enregistrement de la table source, parce que tu risques de saisir une donnée dans le champ alors que tu la saisis par liste déroulante.
En bref, ils font double emploi avec les listes et peuvent être sources d'erreurs.

Re: Des affaires criminelles du 18e siècle

MessagePublié: 24 Fév 2013 17:43
par Kitana
En fait je n'avais pas très bien compris ton poste. C'est vrai que c'est tout à fait logique. Je pensais qu'en supprimant cela fausserait le reste. Merci !

Est-ce que tu as encore la patience de m'expliquer comment faire les sous catégories socio professionnelles ? est-ce qu'avec une liste en cascade, je saurais tout de même faire ma statistique uniquement, si je le désire, sur base du premier champ (ecclésiastique, noble, bourgeois...) sans prendre en compte la sous catégorie ? J'ai vraiment besoin que les deux apparaissent.

Vraiment merci pour ton aide !

Re: Des affaires criminelles du 18e siècle

MessagePublié: 24 Fév 2013 18:01
par jeanmimi
Je ne les ai as vues, quelles sont les sous-catégories ?
est-ce qu'avec une liste en cascade, je saurais tout de même faire ma statistique uniquement, si je le désire, sur base du premier champ
Oui, bien sûr, puisque dans la requête qui fera le tri, tu choisiras les données qui t'intéressent.
Je te joins un exemple de requête dans ta Base.

Re: Des affaires criminelles du 18e siècle

MessagePublié: 24 Fév 2013 18:31
par Kitana
Justement, comme je ne savais pas comment les faire, je ne les ai pas mises... est-ce que ça a un rapport avec les sous-formulaires ou absolument pas ? Par exemple, pour bourgeois, pouvoir préciser entre "simple bourgeois, marchand bourgeois, bourgeois et autres, inconnu". Je suppose qu'on peut modifier le formulaire pour les ajouter ?

Merci pour la requête ! j'ai essayé de refaire ce que tu as fait mais j'ai un petit problème... :roll: Ce sont les chiffres qui s'affichent et non "F, M" pour le sexe par ex. Voilà comment je procède : "Utiliser l'assistant de création de requête" --> 1. Selection de champs (je choisis la table affaire criminelle, puis j'ajoute les champs "NOMS.vict" etc, dans la requête) --> créer

Encore merci de ta patience !

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 24 Fév 2013 18:42
par jeanmimi
Kitana a écrit:Ce sont les chiffres qui s'affichent et non "F, M" pour le sexe par ex
Il faut ajouter dans la requête en mode Ébauche, la table Sexe et relier le champ Sexe de la table_aff_crim avec celui de la table sexe, comme dans mon exemple.

Quant aux listes liées, le sujet est évoqué ici : viewtopic.php?f=29&t=14662#p81396

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 24 Fév 2013 20:40
par Kitana
Merci, j'ai réussi pour la requête !

Par contre je ne comprends absolument rien pour la macro... je ne m'y connais pas du tout, n'y a t-il pas moyen de faire plus simple ?

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 26 Fév 2013 21:39
par Kitana
Re Bonjour à tous,

J'ai finalement trouvé un moyen pour détourner mon problème. Mais j'en ai un autre... Quand je crée ma table en mode ébauche, j'ai besoin de plus de lignes que disponibles. Seulement, quand j'essaie d'en créer, il survient "une erreur inattendue" et open.office ferme. J'ai déjà créé bcp de lignes, environ 128, est-ce qu'il est impossible d'en faire davantage ?

merci d'avance pour vos réponses

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 26 Fév 2013 22:44
par jeanmimi
Tu veux aller jusqu'à combien de champs ?

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 27 Fév 2013 08:13
par Kitana
Encore environ 240...

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 27 Fév 2013 09:57
par Dude
Salut,

Kitana a écrit:Encore environ 240

240 colonnes pour une table = problème de conception

Merci de décrire les champs en question.

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 27 Fév 2013 11:14
par Kitana
C'est la première fois que je conçois une base de données, donc je n'ai peut-être, et même sans doute pas la bonne logique. Je joins en fichier toutes les données qui sont nécessaires à mon mémoire. Peut-être faut-il créer d'autres tables supplémentaires, mais dans ce cas j'ai peur de mal faire les relations et me retrouver au final avec mes fiches encodées sans pouvoir les utiliser.

L'unité de base est l'affaire. Le souci est qu'il existe plusieurs actes par affaires, et donc plusieurs parties, plusieurs victimes, agresseurs, témoins.. J'ai donc multiplié les champs ce qui revient à en faire beaucoup... De la même manière, parfois il peut y avoir plusieurs réponses possibles, d'où multiplication des champs.

Merci de votre aide !

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 27 Fév 2013 11:41
par jeanmimi
J'ai regardé la liste.
Tu n'auras pas 400 champs, car tu utilises plusieurs menus déroulants dont le choix de la valeur correspondra à seulement un champ.
Les menus déroulants oui/non peuvent traités avec des champs booléens.
Je n'ai pas compris pourquoi tu veux parfois 3 ou 5 fois les mêmes champs ("Faire ça x5").
Bon courage pour la création des nombreuses tables qui vont servir à alimenter les liste déroulantes.

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 27 Fév 2013 12:32
par Kitana
J'ai commencé à réaliser les tables pour les listes déroulantes, mais c'est vrai que ça prend un paquet de temps...

je joins le fichier pour mieux comprendre. J'ai besoin de multiplier les champs à causes des possibilités. Si tu modifies le tableur "Mémoire", tu peux voir que je ne peux plus rien ajouter et que j'ai multiplié les champs pour les différentes victimes, témoins, agresseur...

Peut-être que je me complique la vie... si vous pensez à une meilleure solution, n'hésitez pas...

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 27 Fév 2013 16:57
par Dude
Le modèle relationnel est incorrect.

Par exemple, tu as 4 tables pour les voies de fait.
Deux tables suffisent.
Une pour les catégories : personne, bien, corps, etc
Une pour le détail de chaque catégorie.

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 27 Fév 2013 18:06
par jeanmimi
Il peut être aussi plus simple d'avoir la table principale MEMOIRE avec seulement le nom du notaire et dans une autre table ce qui concerne les victimes.
Un formulaire avec un sous-formulaire permet d’enregistrer ce qui relie les 2 tables.
Il est aussi souhaitable de ne pas avoir de points dans les noms des tables et de les remplacer par des _

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 27 Fév 2013 18:15
par Kitana
Le modèle relationnel est incorrect.

Par exemple, tu as 4 tables pour les voies de fait.
Deux tables suffisent.
Une pour les catégories : personne, bien, corps, etc
Une pour le détail de chaque catégorie.


C'est vrai qu'ainsi je réduis le nombre de tables. Mais le problème, c'est comment faire si je veux dans les détails, à la fois "intrusion dans le domicile", "actes impudiques" et "coups au visage" ? C'est dans cette optique que je multipliais les champs "detail.1" "détail.2" "détail.3" etc.

 Ajout : 
Il peut être aussi plus simple d'avoir la table principale MEMOIRE avec seulement le nom du notaire et dans une autre table ce qui concerne les victimes.
Un formulaire avec un sous-formulaire permet d’enregistrer ce qui relie les 2 tables.
Il est aussi souhaitable de ne pas avoir de points dans les noms des tables et de les remplacer par des _


Encore un problème est que je n'ai pas bien compris le fonctionnement du sous-formulaire. J'ai peur de mal faire les liens... Mais si les liens sont bons, je pourrai dans les requêtes mettre par exemple en relation le sexe des victimes avec le genre d'injures qu'ils subissent sans problème ?

Est-ce que je dois aussi éviter les points dans le nom des champs ? ou ça peut aller ?

Un grand merci ! 

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 27 Fév 2013 18:40
par Dude
Kitana a écrit:Mais le problème, c'est comment faire si je veux dans les détails, à la fois "intrusion dans le domicile", "actes impudiques" et "coups au visage" ? C'est dans cette optique que je multipliais les champs "detail.1" "détail.2" "détail.3" etc.

Il faut une table intermédiaire.
Regarde ce tutoriel sur le concept Fournisseur - Produit.
Il est évident que pour un fournisseur, on ne va pas avoir produit.1 produit.2 etc.

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 27 Fév 2013 19:34
par Kitana
Jeanmimi, j'ai essayé de reproduire ce que tu as fait, mais je n'arrive pas au même résultat. C'est le formulaire "T_Kitana". Peux-tu me dire où est mon erreur stp ? J'ai utilisé l'assistant de créations de formulaire, et je n'ai pas réussi à faire de liens entre le formulaire et le sous formulaire, à chaque fois que j'indiquais un champ ça s'effaçait...

Merci Dude pour le tutoriel. Je vais essayer de m'y pencher plus attentivement demain. Ce soir cela me semble un peu trop compliqué. Et puis tant que je n'ai pas bien compris comment faire des sous formulaires, je ne crois pas non plus arriver à ça...

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 27 Fév 2013 20:18
par jeanmimi
Pour que le formulaire et son sous-formulaire soient en relation, il faut qu'il y ait un champ identique dans la table "maitre" et la table "esclave"

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 27 Fév 2013 21:03
par Kitana
ça fonctionne ! merci !

J'ai sans doute fait d'autres erreurs car seuls les numéros apparaissent dans le sous formulaire. A cette étape tu avais déjà les mots et le menu déroulant qui s'affichaient ?

J'ai essayé de faire clic droit sur le chemin, d'insérer une liste, et de la modifier. Mais dans "données" je n'ai pas les [...] qui me permettent d'aller chercher où je veux. Tu as encodé toi même ? (ou peut-être suis-je sur la mauvaise piste ?)

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 28 Fév 2013 11:41
par jeanmimi
Kitana a écrit:J'ai essayé de faire clic droit sur le chemin, d'insérer une liste, et de la modifier. Mais dans "données" je n'ai pas les [...] qui me permettent d'aller chercher où je veux. Tu as encodé toi même ? (ou peut-être suis-je sur la mauvaise piste ?)
Pour créer les Zones de liste dans le contrôle de Table (c'est le nom de la grille du sous-formulaire), il faut éditer le formulaire, puis dans chacune des colonnes de la grille, faire un clic droit, choisir Remplacer par ... Zone de liste. Dans les Propriétés de cette Zone de liste, onglet Données, cliquer sur SQL et utiliser l’assistant (cliquer sur les 3 petits oints) pour créer la requête dans laquelle, en première colonne, il y a le libellé du champ, et en deuxième colonne l'id.

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 28 Fév 2013 19:16
par Kitana
Merci Jeanmimi, j'ai compris !

J'ai beau relire le lien de Dude, j'ai beaucoup de mal à comprendre... peut-être y a t'il trop d'informations d'un coup. J'y arriverai peut-être mieux ce week-end ^^

Je vais essayer de retravailler tout ça et je vous recontacte. Je vous remercie vraiment beaucoup pour toute l'aide que vous m'avez déjà apportée !

Re: [Base] Des affaires criminelles du 18e siècle

MessagePublié: 01 Mars 2013 22:25
par Kitana
Bonsoir !

J'ai une nouvelle petite question.

Si je crée, imaginons trois formulaires, chacun avec un sous formulaire sur le modèle que Jeanmimi m'a passé, cad avoir le nom de l'affaire et du notaire systématiquement dans les trois formulaires puis en sous formulaire, un pour les victimes, un pour les circonstances de l'agression et un autre pour la partie agression en elle même ; est-ce que je saurais faire des requêtes qui lient les sous formulaires ? Par ex, pourrais-je demander de lier le sexe de la victime avec le type d'injures ? ou cela est impossible ou trop compliqué à faire pour quelqu'un qui n'y connait pas grand chose ?

Merci d'avance !