Newsgroup: it.comp.appl.access
Titolo: Questione di ultimo record !!!

Un saluto cordiale a tutto il NG.
Vorei che mi aiutaste a risolvere un problema ed anche a capire la logica di
Access 2000 che non sempre è molto chiara.
Fino ad ora, un programma, da me realizzato, non ha dato alcun problema, ma
ora, che per motivi organizzativi ho apportato delle modifiche pare non
volerne più sapere!.
Il programma gestisce le cartelle cliniche di un ospedale, in pratica fino
ad ora ha funzionato ed era
impostato in questo modo, cito solo la parte problematica:
- una tabella 'Anagrafica Pazienti' è collegata ad un'altra tabella
'Cartelle cliniche' con una relazione da uno a molti.
Cioè la chiave primaria (PK), id-paziente (come contatore) della tabella
'Anagrafica Pazienti' viene trasportata nella tabella 'Cartelle cliniche' in
cui diventa chiave esterna (FK) con id-cartelle (PK).
Nella maschera Immissione Dati, io immetto i dati anagrafici del paziente e
poi gli assegno una cartella clinica cliccando su di un semplice tasto in
cui ho una macro che va all'ultimo record, in pratica l'ultimo è quello che
ho a video e che ho salvato.
La maschera che devo aprire riporta i dati anagrafici del paziente e la
sottomaschera dei dati di cartella clinica.
Fin qui tutto ok.
Il problema sorge quando io stabilisco una relazione '1-1', tra il codice
fiscale della tabella 'Anagrafica pazienti' (ora la chiave non è più gestita
da Access come contatore ma ho inserito il codice fiscale) e la chiave
'codice foscale' della cartella clinica in cui ovviamente è chiave primaria
anche qui.
In pratica, quando immetto i dati angrafici e clicco sul tasto per aprire la
relativa cartella clinica, non mi riporta più i dati del paziente a video ma
mi riporta i dati dell'ultimo paziente in ordine alfabetico!!!
Insomma mi fa vedere l'ultimo paziente inteso come ultimo salvato in ordine
alfabetico nella tabella!
Perchè fa così? Perchè prima non si è comportato così?
Davvero non riesco a capirne la logica, eppure se non risolvo questo enigma
sono rovinata!
Grazie per l'aiuto
Rita

 ha scritto nel messaggio
news:ZgH3a.122895$ZE.34...@twister2.libero.it...

se ho capito bene tu hai:
tab anagrafica (Idpaz, nome ,cognome, codfisc ..... )
tab cartelle     (IdCart, Idpaz,codfisc .. ..... )
Ora se tu hai cambiato le chiavi nelle due tabelle mettendo solo il codice
fiscale come chiave
devi impostare il criterio di apertura della maschera cartella.
vai in struttura della maschera, poi vai sul bottone che usi per aprire la
cartella, vai in propietà evento e controlla su click
controlla la propietà di apertura che ai impostato.
PS
Secondo me (ho una certa esperienza con le cartelle cliniche) non dovresti
affrontare il problema così
In quanto un paziente può avere più di un ricovero quindi la relazione e 1 a
molti sempre.
ps
se hai problemi sulle cartelle fammi sapere
Stefano

 Rita
Scusa ma non ho capito bene la logica delle tbl.
Se tu hai una tblAnagrafca dovresti avere i seguenti campi:
IDPaziente(contatore e chiaveprimaria) CodFis(testo con consenti duplicati a
no) e gli altri campi cognome nome
etc etc.
Nella tblCartellaPaziente dovresti avere:
 IDPaziente(numerico con consenti duplicati a si) e poi le varie voci
della CartellaPaziente che so Anamnesi ,TipoVisita
,DiagnosiDifferenziale,DataVisita etc etc
All'inserimento di un nuovo paziente devi fare in modo che Access controlli
se il CodFis
è già presente nella tblAnagrafiche se si ti dirà che paziente è gia
inarchivio se no ti salverà il nuovo paziente.
Quindi a che ti serve il CodFis nella tblCartellaPaziente dato che dovrebbe
essere collegato con IDPaziente?
Temo che ci sia un problema di analisi alla base.Forse è il caso di
riprogettare il db e
tentare di salvare il salvabile.
Fammi sapere
Ciao
Giuseppe

 ha scritto nel messaggio
news:eLH3a.187090$0v.52...@news1.tin.it...

Ciao Stefano, sono d'accordo con te, io inizialmente avevo impostato così la
questione in quanto una persona può anche essere ricoverata più volte, ma
purtroppo devo farlo in quell'altro modo.
Ho visto le proprietà della maschera di apertura, ma non saprei cosa fare,
mi pare tutto normale oppure devo scrivere qualcosa sul click?
Ho lasciato la macro di access come avevo impostato prima quando funzionava.
Ora non saprei cosa fare.
Grazie ciao
Rita

 ha scritto nel messaggio
news:0YI3a.187263$0v.52...@news1.tin.it...

Ciao Giuseppe, si anche tu hai ragione come Stefano, io avevo impostato le
cose allo stesso modo, però ora, vedrò di  chiedere delucidazioni
all'utente, mi trovo a dover operare in quest'altro modo.
Comunque ho capito, ora spiegherò meglio all'utente che questa soluzione non
va molto bene.
Ciao grazie
Rita


puoi spiegare all'utente che:
1) il paziente (soprattutto se in un ospedale) durante la sua storia può
avere più di un ricovero.
2) tu creerai un super codpaz che indicizza l'anagrafica,
3) le cartelle cliniche avranno un N° nosologico e il supercodpaz per avere
il colegamento con l'anagrafica.
4) se farai una ricerca con il super codpaz troverai tutti i ricoveri del
paziente (compresi i DH e gli ambulatoriali)
Tornando al tuo problema,
Crea un bottone con l'autocomposizione  vai in
operazioni maschere apertura maschera
schegli la maschera cartella
poi dai l'opzione mostra i record specificati
quindi seleziona i campi codfiscale delle due form
in questo modo ottieni il risultato voluto
(anche se sarebbe meglio ristrutturare il programma)
Stefano

 sono rovinata!
la macro che fa, viene eseguita?
--
a.cara 
Togli qualcosa dall'email

 ha scritto nel messaggio
news:%RL3a.250874$AA2.9...@news2.tin.it...


 Togli qualcosa dall'email
Ok grazie Alessandro, sto pensando seriamente di reimpostare tutto come
prima e di strozzare l'utente, faccio prima!
Comunque utilizzerň il tuo codice.
Ciao Rita