[Résolu] formulaire avec plusieurs tables
Modérateur : Vilains modOOs
Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
-
- Membre OOrganisé
- Messages : 53
- Inscription : 02 févr. 2018 22:15
[Résolu] formulaire avec plusieurs tables
bonjour,
j'ai fais un mcd que je voudrai tester dans un seul formulaire.
j'ai positionné chaque table dans le formulaire et relié les clés mais cela ne marche pas.
pourriez vous s'il vous plait m'indiquer quelle est l'astuce? merci par avance.
ps.: je suis preneur d'un exemple.
merci
j'ai fais un mcd que je voudrai tester dans un seul formulaire.
j'ai positionné chaque table dans le formulaire et relié les clés mais cela ne marche pas.
pourriez vous s'il vous plait m'indiquer quelle est l'astuce? merci par avance.
ps.: je suis preneur d'un exemple.
merci
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 21 févr. 2019 15:38, modifié 4 fois.
Raison : Ajout de [Résolu]
Raison : Ajout de [Résolu]
HOME : (car pb avec base/postgresl avec version plus récente)
libre office Version: 6.0.6.2 (x64)
Win 8.1
DESK: (imposé)
libre office Version: 5 (x64)
Win 7
libre office Version: 6.0.6.2 (x64)
Win 8.1
DESK: (imposé)
libre office Version: 5 (x64)
Win 7
-
- Grand Maître de l'OOffice
- Messages : 16955
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: formulaire avec plusieurs tables
Bonjour,
Donc, au hasard, est-ce qu'il n'y aurait pas une relation entre deux champs de qualités différentes, par ex INTEGER avec TEXT ?
Il manque une Table des vendeurs, ce qui éviterait de saisir leur nom pour chaque transaction.
Avec la copie d'écran comme seul indice, il est impossible de savoir ce qui empêche le fonctionnement.fcka a écrit :j'ai positionné chaque table dans le formulaire et relié les clés mais cela ne marche pas.
Donc, au hasard, est-ce qu'il n'y aurait pas une relation entre deux champs de qualités différentes, par ex INTEGER avec TEXT ?
Il manque une Table des vendeurs, ce qui éviterait de saisir leur nom pour chaque transaction.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- Membre OOrganisé
- Messages : 53
- Inscription : 02 févr. 2018 22:15
Re: formulaire avec plusieurs tables
Bonjour,
Je ne trouve pas le pb ... J'ai essayé de faire le formulaire avec seulement 3 tables (dia, ref, bien) et cela ne fonctionne pas.
Ci-dessous le code de ces 3 tables (la base est sur postgresql et 'base' le sert d'interface).
Je ne trouve pas le pb ... J'ai essayé de faire le formulaire avec seulement 3 tables (dia, ref, bien) et cela ne fonctionne pas.
Ci-dessous le code de ces 3 tables (la base est sur postgresql et 'base' le sert d'interface).
Code : Tout sélectionner
------------------------------------------------------------
-- Table: bien
------------------------------------------------------------
CREATE TABLE public.bien(
num_bien SERIAL NOT NULL ,
vendeur VARCHAR (50) NOT NULL ,
date_recep_mairie DATE NOT NULL ,
date_recep_pref DATE NOT NULL ,
CONSTRAINT bien_PK PRIMARY KEY (num_bien)
)WITHOUT OIDS;
------------------------------------------------------------
-- Table: dia
------------------------------------------------------------
CREATE TABLE public.dia(
num SERIAL NOT NULL ,
num_dia INT NOT NULL ,
adresse_du_bien VARCHAR (150) ,
acquereur VARCHAR (50) ,
montant_euros NUMERIC (10,2) ,
copropriete BOOL ,
superficie_bien_m2 NUMERIC (10,2) ,
superficie_terrain_m2 NUMERIC (15,2) ,
ref_cadas_longue VARCHAR (100) ,
num_bien INT NOT NULL ,
CONSTRAINT dia_PK PRIMARY KEY (num)
,CONSTRAINT dia_bien_FK FOREIGN KEY (num_bien) REFERENCES public.bien(num_bien)
)WITHOUT OIDS;
------------------------------------------------------------
-- Table: _ref_cadas
------------------------------------------------------------
CREATE TABLE public._ref_cadas(
pk_ref SERIAL NOT NULL ,
section VARCHAR (2) ,
parcelle VARCHAR (4) ,
ind_partie BOOL ,
superf_ha INT ,
superf_a INT ,
superf_ca INT ,
num INT NOT NULL ,
CONSTRAINT _ref_cadas_PK PRIMARY KEY (pk_ref)
,CONSTRAINT _ref_cadas_dia_FK FOREIGN KEY (num) REFERENCES public.dia(num)
)WITHOUT OIDS;
HOME : (car pb avec base/postgresl avec version plus récente)
libre office Version: 6.0.6.2 (x64)
Win 8.1
DESK: (imposé)
libre office Version: 5 (x64)
Win 7
libre office Version: 6.0.6.2 (x64)
Win 8.1
DESK: (imposé)
libre office Version: 5 (x64)
Win 7
-
- Grand Maître de l'OOffice
- Messages : 16955
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: formulaire avec plusieurs tables
Pourquoi les clés primaires ne sont-elles pas de typé INTEGER ?
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- Membre OOrganisé
- Messages : 53
- Inscription : 02 févr. 2018 22:15
Re: formulaire avec plusieurs tables
bonjour,
j'avoue que je n'ai pas beaucoup d'expérience... j'ai lu qu'il faut absolument une clé primaire par table et que cette clé doit être non nulle et unique.
Du coup une variable auto-incrémentée pour chaque ligne dans chaque table me semblait être une bonne solution.
je viens de générer à nouveau le code avec des clés primaires typées integer, mais cela coince encore...
j'avoue que je n'ai pas beaucoup d'expérience... j'ai lu qu'il faut absolument une clé primaire par table et que cette clé doit être non nulle et unique.
Du coup une variable auto-incrémentée pour chaque ligne dans chaque table me semblait être une bonne solution.
je viens de générer à nouveau le code avec des clés primaires typées integer, mais cela coince encore...
Code : Tout sélectionner
-- Table: bien
------------------------------------------------------------
CREATE TABLE public.bien(
num_bien INTEGER NOT NULL ,
vendeur VARCHAR (50) NOT NULL ,
date_recep_mairie DATE NOT NULL ,
date_recep_pref DATE NOT NULL ,
CONSTRAINT bien_PK PRIMARY KEY (num_bien)
)WITHOUT OIDS;
------------------------------------------------------------
-- Table: dia
------------------------------------------------------------
CREATE TABLE public.dia(
num INTEGER NOT NULL ,
num_dia INT NOT NULL ,
adresse_du_bien VARCHAR (150) ,
acquereur VARCHAR (50) ,
montant_euros NUMERIC (10,2) ,
copropriete BOOL ,
superficie_bien_m2 NUMERIC (10,2) ,
superficie_terrain_m2 NUMERIC (15,2) ,
ref_cadas_longue VARCHAR (100) ,
num_bien INTEGER NOT NULL ,
CONSTRAINT dia_PK PRIMARY KEY (num)
,CONSTRAINT dia_bien_FK FOREIGN KEY (num_bien) REFERENCES public.bien(num_bien)
)WITHOUT OIDS;
------------------------------------------------------------
-- Table: _ref_cadas
------------------------------------------------------------
CREATE TABLE public._ref_cadas(
pk_ref INTEGER NOT NULL ,
section VARCHAR (2) ,
parcelle VARCHAR (4) ,
ind_partie BOOL ,
superf_ha INT ,
superf_a INT ,
superf_ca INT ,
num INTEGER NOT NULL ,
CONSTRAINT _ref_cadas_PK PRIMARY KEY (pk_ref)
,CONSTRAINT _ref_cadas_dia_FK FOREIGN KEY (num) REFERENCES public.dia(num)
)WITHOUT OIDS;
HOME : (car pb avec base/postgresl avec version plus récente)
libre office Version: 6.0.6.2 (x64)
Win 8.1
DESK: (imposé)
libre office Version: 5 (x64)
Win 7
libre office Version: 6.0.6.2 (x64)
Win 8.1
DESK: (imposé)
libre office Version: 5 (x64)
Win 7
-
- Grand Maître de l'OOffice
- Messages : 16955
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: formulaire avec plusieurs tables
En modifiant légèrement ton code (noms des champs entre guillemets) :
en Mode SQL, je crée bien la Table que j'ai appelée T_public_bien.
Par Affichage > Actualiser les Tables, ou après enregistrement de la Base et fermeture, à sa réouverture la Table est bien présente.
Code : Tout sélectionner
CREATE TABLE T_public_bien ("ID_num_bien" INTEGER IDENTITY , "Vendeur " VARCHAR(50), "date_recep_mairie" DATE, "date_recep_pref" DATE)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- Membre OOrganisé
- Messages : 53
- Inscription : 02 févr. 2018 22:15
Re: formulaire avec plusieurs tables
bonjour,
merci pour votre aide, mais cela ne répond pas tout à fait à mon problème de départ. Désolé.
mon pb est de ne pas pourvoir faire de la saisie dans un formulaire composée de mes 3 tables.
J'ai trouvé un tuto sur internet https://www.youtube.com/watch?v=TcudVETPePY qui montre comment faire justement un formulaire avec 3 tables.
Dans ce tuto, j'ai noté que la clé primaire de la table principale est la clé étrangère dans les 2 autres tables et ce n'est justement pas mon cas.
C'est peut-être que la source de mon pb. Dois-je en déduire que je me retrouve un pb de conception de ma base ou bien existe -t-il "des contraintes" pour relier les tables '?
merci pour votre aide, mais cela ne répond pas tout à fait à mon problème de départ. Désolé.
mon pb est de ne pas pourvoir faire de la saisie dans un formulaire composée de mes 3 tables.
J'ai trouvé un tuto sur internet https://www.youtube.com/watch?v=TcudVETPePY qui montre comment faire justement un formulaire avec 3 tables.
Dans ce tuto, j'ai noté que la clé primaire de la table principale est la clé étrangère dans les 2 autres tables et ce n'est justement pas mon cas.
C'est peut-être que la source de mon pb. Dois-je en déduire que je me retrouve un pb de conception de ma base ou bien existe -t-il "des contraintes" pour relier les tables '?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
HOME : (car pb avec base/postgresl avec version plus récente)
libre office Version: 6.0.6.2 (x64)
Win 8.1
DESK: (imposé)
libre office Version: 5 (x64)
Win 7
libre office Version: 6.0.6.2 (x64)
Win 8.1
DESK: (imposé)
libre office Version: 5 (x64)
Win 7
-
- Grand Maître de l'OOffice
- Messages : 16955
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: formulaire avec plusieurs tables
Comme on n'a toujours pas vu ta Base, difficile de tester.fcka a écrit :Dois-je en déduire que je me retrouve un pb de conception de ma base ou bien existe -t-il "des contraintes" pour relier les tables '?
Quant aux contraintes, je suggérais :
Et lorsque tu écris :jeanmimi a écrit :Donc, au hasard, est-ce qu'il n'y aurait pas une relation entre deux champs de qualités différentes, par ex INTEGER avec TEXT ?
la solution est de créer un Formulaire avec des sous-formulaires.fcka a écrit :mon pb est de ne pas pourvoir faire de la saisie dans un formulaire composée de mes 3 tables.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- Membre OOrganisé
- Messages : 53
- Inscription : 02 févr. 2018 22:15
Re: formulaire avec plusieurs tables
merci
HOME : (car pb avec base/postgresl avec version plus récente)
libre office Version: 6.0.6.2 (x64)
Win 8.1
DESK: (imposé)
libre office Version: 5 (x64)
Win 7
libre office Version: 6.0.6.2 (x64)
Win 8.1
DESK: (imposé)
libre office Version: 5 (x64)
Win 7