Newsgroup: it.comp.appl.access
Titolo: 2 persone con nome uguale: chi viene per primo in un combo?

Ovviamente mi spiego, non sapevo che titiolo dare...
tabella pazienti
form.cartella e in questa cbopazienti con l'elenco di tutti i pazienti.
al suo click filtro i dati  del paziente...
ma se due pazienti hanno lo stesso nome... nel combo chi č primo?
quello che ho immeso per primo?
il recordsource del combo č "select idpaziente, nome from pazienti order by
nome" quindi l'ordinamento č in ordine alfabetico
allora il primo quale č?
Grazie per l'attenzione
nik

 allora il primo quale è?
Credo che non sia deterministico, nel senso che non è detto che il Jet ti 
ritorni sempre prima uno e poi l'altro.
Credo che, quando ci sono casi di ambiguità come questo, il Jet risolva semplicemente 
leggendo i dati pari pari come li trova fisicamente nella tabella.
Mi piacerebbe tuttavia sentire il parere degli altri.
--
PBsoft di Gabriele Bertolucci
www.pbsoft.it

e quindi come riconoscerli nel combo??
graz

 allora il primo quale è?
Gabriele ha ragione, non puoi "contare" sul fatto che ti esca sempre prima 
uno piuttosto che l'altro.
D'altro canto devi poterli identificare, il modo migliore per distinguerli 
varia da caso a caso, ma trattandosi di pazienti io mi rifarei a data di 
nascita e/o comune di residenza e/o codice fiscale.
Quest'ultimo potrebbe perfino fare da chiave primaria, ma non è del tutto 
opportuno.
Ciao
-- 
http://www.gestionedati.com
 

Innanzitutto Nome e Cognome non possono essere l'identificatore Univoco
di una persona, pertanto serve sempre poter discriminare la
ChiavePrimaria
che spesso potrebbe essere il CodiceFiscale, o trattandosi di Sanità
del CodiceUtente del libretto sanitario.
Basandosi su un Database Normalizzato questi dubbi non devono esistere
in quanto l'ordinamento deve poter assegnare una posizione Univoca.
Quindi imposterai nella combo 3 colonne:
1° Cognome                              Crescente
2° Nome                                   Crescente
3° il C.F. o il Codice Sanitario     Crescente
In questo modo l'ordine non sarà deterministico, ma condizionato dalla
3° colonna.
Saluti
@Alex

 ha scritto nel messaggio
news:1141830988.5...@p10g2000cwp.googlegroups.com...



Saluti
@Alex
Giusto, ma il problema rimane, quando la segretaria digita il cognome del
paziente e fa invio ne viene uno dei due che può non essere quello giusto...
penso di risolvere il problema cercando di sapere se con quel nome e cognome
ci sono uno o piu record e nel qual caso avvisare con un msgbox giusto per
porre una attenzione in modo da controllare che quello selezionato sia
quello giusto.
Grazie a tutti
nik

Giusto, ma il problema rimane, quando la segretaria digita il cognome
del
paziente e fa invio ne viene uno dei due che può non essere quello
giusto...
penso di risolvere il problema cercando di sapere se con quel nome e
cognome
ci sono uno o piu record e nel qual caso avvisare con un msgbox giusto
per
porre una attenzione in modo da controllare che quello selezionato sia
quello giusto.
Grazie a tutti
nik
Personalmente ritengo l'approccio forse discutibile.
Anche la digitazione dovrebbe essere condotta principalmete per
la PrimaryKey, e solo come alternativa campi secondari.
Qualora si renda necessario ricorrere a campi secondari(il paziente
non ha con se il tesserino sanitario) si può ricorrere a
Cognome+Nome+DataNascita
che integrata alle considerazioni precedenti porta a 4 i campi da
ordinare.
Poi è ovvio che se ci sono 10 OMONIMI lui(l'applicativo) non sà quale
mostrarti
ma sicuramente il più giovane(per data).
Saluti
@Alex

Personalmente ritengo l'approccio forse discutibile.
Anche la digitazione dovrebbe essere condotta principalmete per
la PrimaryKey, e solo come alternativa campi secondari.
    Quello che dici è giusto... ma tu la vedi una segretaria che chiede il
codife fiscale ai pazienti per poter visualizzare la sua cartella?
    io lo trovo scomodo..
    credo che adottero una routine che c'è sul sito comune che trasforma una
textbox in un controllo ricerca in modo da vedere subito quanti "ROSSI
MARIO" ci sono archiviati, e da qui scegliere in basa alla data di nascita
quale selezionare...
Qualora si renda necessario ricorrere a campi secondari(il paziente
non ha con se il tesserino sanitario) si può ricorrere a
Cognome+Nome+DataNascita
che integrata alle considerazioni precedenti porta a 4 i campi da
ordinare.
    piu o meno come sopra...
Poi è ovvio che se ci sono 10 OMONIMI lui(l'applicativo) non sà quale
mostrarti
ma sicuramente il più giovane(per data).
    fino adesso solo due che si chiamano perettamente uguali...
Saluti
@Alex
    Anche a te
    Nik

 nik
Come ti hanno suggerito;le possibili soluzioni:
1 - Nell'origine riga della casella di riepilogo, la select visualizzerà i 
tre campi Nome Cognome e data nascita uniti ma la colonna (campo) chiave 
sarà l'id.
Es.
Select id, Nome & " " & Cognome & " " & DataNascita From ...
2 - Nell'origine riga della casella di riepilogo, la select visualizzerà i 
tre campi Nome Cognome e data nascita ma la colonna (campo) chiave sarà 
l'id.
Es.
Select id, Nome, Cognome, DataNascita From ...
E verranno visualizzate le intestazioni colonne.
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Nik
Grazie

 Grazie
Secondo me dovresti provarle e poi trarne le conclusioni.
La prima ti permette di scegliere scrivendo congome e nome e data di nascita 
perché è l'unica colonna visualizzata; la seconda ti permette di scegliere 
scrivendo solo il cognome e vedere le altre informazioni.
Con entrambe visualizzi (quando apri la tendina) le altre informazioni 
necessarie per distinguere le omonimie...
Ciao.
-- 
Sergio MAZZA 

Grazie mi sa che farň nell'ultimo modo...