Newsgroup: it.comp.appl.access
Titolo: Indice generale

Ciao a tutti
ho costruito un semplice database in Access97 che mi permette di
indicizzare i miei atti amministrativi scritti in word97.
In sostanza ho costruito una scheda che si appoggia ad una tabella
con i seguenti campi :
IDregistrazione documento(Contatore)
Data reg.(data)
Oggetto documento(testo)
Collocazione documento (ipertestuale)
nella form ci sono le relative caselle di testo dalle quali inserisco i
dati nella tabella.
Due colleghi mi hanno chiesto se posso costruire un db comune per tutti
e tre.
In sostanza ognuno di noi deve aprire la propria form di inserimento per
registrare i propri atti numerati progressivamente. La numerazione
deve essere distinta per ognuno dei tre uffici ma allo stesso tempo
ci deve essere una numerazione generale per data di inserimento.
Ad esempio ci sarà un ID generale progressivo che dovrà essere collegato
per data di inserimento al primo id locale di ogni ufficio in modo da
ottenere una specie di registro generale degli atti dei tre
uffici.
C'è qualcuno che mi può aiutare? io mi sono incasinato e non so proprio
come fare
Spero di essere stato chiaro 
ciao e grazie
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:102e5c3b90bc9f21bf5...@mygate.mailgate.org...

Ciao,
se non ho capito male, penso che la soluzione potrebbe essere: crei una
tabella dei dipendenti (IDDipendente (contatore) cognome e nome).
Poi nella tabella da te già fatta penso ti possa bastare un campo in cui
indichi il progressivo numerico (magari calcolando in automatico il numero
che tocca) del documento per ogni tuo collega ed un campo che indica chi ha
redatto quel documento (chiave esterna sulla tbl di cui sopra).
Pensi che possa andare?
Ciao,
Massimo
-- 
web: 
www.piubelli.net
Vuoi il mio indirizzo? Togli _cut_ per rispondermi

 wrote in message
news:102e5c3b90bc9f21bf5...@mygate.mailgate.org

ciao Massimo
ho provato a seguire il tuo consiglio :
ho costruito una tabella dipendenti
le ho collegate in una relazione uno a molti con il campo iddipendente
nella mia tabella ho inserito un campo numerico e ci ho messo anche una
casella combinata
per pescare di volta in volta il nominativo di chi inserisce il
documento
ma come faccio a fare in modo che ogni mio collega abbia una propria
numerazione progressiva indipendente da quella degli altri?
Ad esempio il collega Mario inserisce una registrazione e gli viene in
automatico
nell'ID Generale il numero progressivo, poi mette la data l'oggetto e
poi quando arriva
nel campo numerico relativo alla propria numerazione come faccio in modo
da consentirgli
di avere una propria numerazione progressiva collegata al suo
nominativo?
FOrse non ho capito bene quello che mi hai consigliato ...
Ciao e grazie per il consiglio



Visto che sono in vena di consigli...
Rispondi alla mia risposta, in questo modo il testo conterrà, nell'ordine
corretto: la tua prima domanda, la mia risposta, la tua ulteriore domanda,
la mia ulteriore risposta ecc... così è più chiaro per tutti.
Consiglio sul tuo problema:
Puoi creare una query di accodamento che da una maschera accodi prima la
riga generando il numero che ti interessa (max +1, ragguppato per
iddipendente)
Se non sei pratico, ti consiglio di partire da una query di selezione e poi
trasformarla in query di accodamento (in quel momento ti chiederà a quale
tbl accodare); poi, puoi far eseguire la query ad una macro o con queste
semplici istruzioni vba (associate ad un pulsante"
docmd.setwarnings False
docmd.openquery "Nomedella tua query"
docmd.setwarnings False
Riciao,
fa sapere se funziona.


ciao Massimo
ho provato a seguire i tuoi consigli ma credo di essere ancora troppo
imbranato per risolvere il problema...
Ricapitolando:
ho due tabelle
una tabella Registro Generale con i seguenti campi:
idGenerale(contatore)
Data Inserimento
Oggetto
IDDipendente (chiave esterna)
IDLocale(numerico)"campo del progressivo numerico"
CollDoc (ipertesto)
una tabella Dipendenti
IDdipendente(contatore)(chiave)
cognome
nome
una query basata sulle due tabelle
Una form di inserimento con le caselle di testo dei campi della tabella
registro generale + una casella combinata per pescare il dipendente
che inserisce la registrazione.
E qui mi fermo perchè non so come fare la query che mi calcola il
progressivo IDlocale.
Io voglio che il campo numero progressivo locale venga numerato
dal programma senza che l'operatore lo inserisca a mano.
Forse mi sto perdendo in un bicchier d'acqua ma proprio non ne vengo
fuori.
Grazie e ciao
Lucio


 ha scritto nel messaggio
news:22b0cdf533fc3f7a816...@mygate.mailgate.org...

Ciao,
Crea una query, poi, non inserire nessuna tabella e dal menu "visualizza"
seleziona SQL e copiaci questa istruzione, modificando SOLO nelle parti
scritte in minuscolo (li dovrai controllare principalmente i nomi delle
tabelle, dei campi, delle mascere)
INSERT INTO [Registro Generale] (IDDipendente , IDLocale)
SELECT IDDipendente, MAX([IDLocale]+1) AS NUOVO FROM [Registro Generale]
WHERE IDDipendente=[FORMS]![tuo nome maschera]![nome della combo con l'id
dipendente]
GROUP BY IDDipendente
Fammi sapere se funziona, la logica è che tu crei una query che accoda nella
tabella "registro generale" calcolando il numero massimo di IDLocale + 1 (il
primo ovvero l'1 ce lo devi mettere a mano) la query va anche a leggere il
dipendente dalla maschera, nella where infatti dovrai scriverci il nome
della tua maschera e relativo campo/combo.
Ciao,


Ciao Massimo
Ho provato e funziona!
Ti ringrazio veramente perchè mi hai risolto un bel problema!!
Ho solo una perplessità : Il pulsante di comando collegato al codice 
sql !
L'ho collocato in basso nella form in modo che venga premuto
dopo che sono stati inseriti tutti i dati e mi accodi così il record
nella tabella Registro Generale.
Ho paura che si incasini la numerazione perchè se un collega
in modo maldestro ripreme il pulsante quando si ritrova su un record
già archiviato quest'ultimo va ad accodarsi e mi genera sia un nuovo
numero generale che un nuovo numero locale!
Altro caso : se ci si dimentica di premere il pulsante e quindi non 
si lancia l'SQL che mi numera il registro locale questo rimane vuoto.
Pensi si possa risolvere in qualche modo?
Grazie ancora e ciao


 ha scritto nel messaggio
news:782d3bce155280d40b7...@mygate.mailgate.org...

Forse controllando che non esista un record simile nella stessa data, non so
per oggetto uguale con data uguale per esempio, per quello che riguarda il
primo controllo.
Per il secondo potresti disabilitare il pulsante di chiusura e chiudere solo
dopo che ha premuto il pulsante.
Tieni conto comunque che un minimo di attenzione ce lo deve pure mettere chi
usa un programma ;-)
