Bonsoir,
Inutile de supprimer des individus, ou des événements. Ces "anomalies" ne provoquent pas de blocage et peuvent être supprimées pour peu qu'on identifie les fiches qui en sont la cause. N'en déplaise à Guy, je pense que supprimer un individu ou un événement est la pire des solutions; elle provoquera beaucoup plus de gênes que l'anomalie.
Tout d'abord, dans les lieux favoris ne figurent que le lieux qui ont une ville. Celà me semble normal, le but de cette liste étant d'éviter d'avoir à ressaisir toutes les infos du lieu (subdivision, ville, cp, dept, région, pays, latitude, longitude), à quoi bon présenter un lieu visiblement incomplet pour le recopier?
Je suppose que othman veut parler de pays "INCONNU" dans les détails des infos du dossier. Le pays est remplacé par INCONNU lorsque dans un événement ou un domicile, l'un des champs ville, dept, région ou pays est rempli (un espace suffit), alors que le pays reste vide (ou rempli par un ou des espaces). Celà n'arrive pas quand on utilise la table de référence, mais il faut bien admettre qu'il n'y a pas de référence pour tous les pays (sans doûte le problème d'othman).
Si ce lieu ne se trouve pas dans les lieux favoris, c'est donc que le champ Ville est vide. On devrait pouvoir retrouver l'individu et l'événement individuel en cause par la requête:
select e.ev_ind_kle_fiche as NIP
,i.nom
,i.prenom
,e.ev_ind_type
,e.ev_ind_date_writen
,e.ev_ind_dept
,e.ev_ind_region
from evenements_ind e
inner join individu i on i.cle_fiche=e.ev_ind_kle_fiche
where i.kle_dossier=1
and char_length(trim(e.ev_ind_ville))=0
and char_length(trim(e.ev_ind_pays))=0
and (e.ev_ind_dept is not null
or e.ev_ind_region is not null)
Si c'est un événement familial par la suivante:
select t.union_mari as NIP
,i.nom
,i.prenom
,e.ev_fam_type
,e.ev_fam_date_writen
,e.ev_fam_dept
,e.ev_fam_region
from evenements_fam e
inner join t_union t on t.union_clef=e.ev_fam_kle_famille
inner join individu i on i.cle_fiche=t.union_mari
where i.kle_dossier=1
and char_length(trim(e.ev_fam_ville))=0
and char_length(trim(e.ev_fam_pays))=0
and (e.ev_fam_dept is not null
or e.ev_fam_region is not null)
Et si c'est un domicile par:
select a.adr_kle_ind as NIP
,i.nom
,i.prenom
,a.adr_date_writen
,a.adr_dept
,a.adr_region
from adresses_ind a
inner join individu i on i.cle_fiche=a.adr_kle_ind
where i.kle_dossier=1
and char_length(trim(a.adr_ville))=0
and char_length(trim(a.adr_pays))=0
and (a.adr_dept is not null
or a.adr_region is not null)
En remplaçant le 1 de kle_dossier par le n° de votre dossier.
A+
André