Newsgroup: it.comp.appl.access
Titolo: DB protocollo come gestirlo

Salve a tutti,
ho da risolvere una problematica e le soluzioni sono molteplici secondo voi 
qual è l'ottimale?
Ho da creare un Db che gestisca il protocollo della "mia" azienda, l'azienda 
è divisa in diversi settori ognuno dei quali dovrà protocollare ma non deve 
vedere i protocolli degli altri settori. Nella tabella protocollo ho due 
campi messi in relazione con due tabelle denominate Fornitore e Mittente 
queste dovrebbero però essere in comune su tutti i settori. Il numero di 
protocollo deve essere diverso da settore a settore o per meglio dire ogni 
settore deve avere un proprio contatore di protocollo. Il numero al 
protocollo viene assegnato in automatico come da esempio riportato sul sito 
comune al punto 6.17
A questo punto le soluzioni possono essere molte per far si che vengano 
risolte tutte le mie problematiche, io avrei pensato questa ma sembra molto 
farraginosa. Creo tante tabelle dal nome PROTOCOLLOnomesettore quanti sono i 
settori ho ed ognuna delle quali la collego a mitttente e a destinatario, mi 
creo un file MDW e ad ogni settore associo un nome utente ed una password 
impedendo di poter accedere all'area protocollo degli altri settori.
Avreste soluzioni migliori?
Saluti SimoneB 

 ha scritto nel messaggio 
news:45dcca69$0$17952$4faf...@reader1.news.tin.it...

Io non vedo molto utile creare tante tabelle... ne creerei una sola e poi, 
con delle query che si autodefiniscono in base all'operatore che ha fatto il 
login, portare avanti solo i records di competenza del particolare settore.
Ciao
Antonio

 Antonio
Ciao e grazie del suggerimento, anche a me spezzare in più tabelle non
mi sta molto bene ma non riesco a capire molto bene un paio di cose
cortesemente se me le puoi spiegare:
1. cosa intendi per "delle query che si autodefiniscono "
2. come si fa nella query a rintracciare l'utente connesso... con
quale criterio devo ordinare intendo... io so che per fitrare i dati
di una maschera occorre usare una stringa del tipo:
[forms]![nome maschera]![nome campo]
ma per quanto concerne la ricerca dell'utente che ha effettuato il
login cosa devo inserire nella query?
Grazie e ciao Simone

 ha scritto nel messaggio 
news:1172141086.0...@a75g2000cwd.googlegroups.com...




Grazie e ciao Simone
Ci sono forse sistemi migliori di quello che uso io... ma io l'ho 
"inventato" tanto tempo fa ed ora mi sono abituato ad utilizzare sempre 
questo.
Ecco come faccio io.
Il primo programma dell'applicazione, di solito "Menu 1", nell'evento "su 
apertura" carica in modalità nascosta un'altra maschera, chiamata 
"Parametri", senza origine dati, nella quale ci sono un 20-30 campi, di cui 
i primi 10 sono Param01, Param02, etc. Gli altri campi sono particolari 
dell'applicazione e potrebbero essere Settore, Fattura, Articolo, Cliente, 
IDrecord, etc. Ogni volta che mi serva passare un nuovo parametro da una 
maschera all'altra o ad una query, vado ad aggiungerlo in questa maschera 
Parametri.
Nell'azienda dove sto lavorando ora il nome dell'utente che ha fatto il 
login sulla propria postazione lo ritrovo in un posto particolare, ma nel 
caso tuo credo che le seguenti 3 istruzioni possano andare bene.
   dim ws as workspace, utente as string
   set ws = dbengine.workspaces (0)
   utente = ws.username
Immaginiamo ora che dopo la maschera Menu1 tu debba richiamare la maschera 
per l'aggiornamento dei records del settore A e che in Menu1 tu abbia 
determinato il Settore di cui fa parte l'utente visto sopra.
Hai una query (chiamiamola "Tutti i records per il solo settore di 
pertinenza") basata sul'unica tabella che dicevamo e contenente il campo 
Settoredipertinenza, per il quale fra i criteri scriveremo 
[forms]![Parametri].[Settore]
Sul pulsante di Menu 1 che richiama la maschera "Aggiornamento dati", 
impostiamo le seguenti istruzioni:
[forms]![Parametri].[Settore] = Me.Settore
docmd.openform "Aggiornamento dati"
La maschera "Aggiornamenti dati" la dovrai basare sulla query definita in 
precedenza.
Ciao
Antonio