Newsgroup: it.comp.appl.access
Titolo: Versione del db

In un db in access 97 ci sono circa 15 maschere o form. Vorrei creare un
file log che mi annoti in sequenza ogni volta che effettuo una modifica su
uno di queste 15 maschere.
All'interno di ogni form in corrispondenza di "Form_load" ho inserito il
seguente codice che pero' aggiornerei a mano in corrispondenza della
versione che sara' un numero progressivo (xx.xx.xxx3 nell'esempio).
Dim Etichetta As String
    DoCmd.Maximize
    'All'avvio della maschera, definisce il nr. di versione della maschera
    Etichetta = "F_Componenti_Assiemi: Ver.  02.00.0003   Date: 06-07-2001"
    Form.Caption = Etichetta
End Sub
Vorrei avere, cioe', in questo file log o txt, la sequenza delle varie
versioni e le maschera a cui si riferiscono le versioni o modifiche.
Grazie a tutti

 ha scritto nel messaggio
news:TTk27.24879$rh.4...@news6.giganews.com...

Non ho ben capito cosa vuoi fare ma nell'help alla voce "Insieme Documents"
c'è un esempio che potrebbe essereti di aiuto.
Tratto dall'help:
'--------------
Nell'esempio riportato di seguito si stampa il nome di ciascun oggetto
Document Form nel database corrente e la data dell'ultima modifica:
Sub DocumentoModificato()
 Dim dbs As Database, ctr As Container, doc As Document
 ' Restituisce il riferimento al database corrente.
 Set dbs = CurrentDb
 ' Restituisce il riferimento al contenitore Forms.
 Set ctr = dbs.Containers!Forms
 ' Elenca insieme Documents del contenitore Forms.
 For Each doc In ctr.Documents
  ' Stampa il nome di oggetto Document e il valore della proprietà
LastUpdated.
  Debug.Print doc.Name; "    "; doc.LastUpdated
Next doc
 Set dbs = Nothing
End Sub
'--------------
Ciao.


Ormai lo sai che non sono bravo a spiegarmi, ma ci tentero' e spero nella
tua solita pazienza:
Vorrei avere un file di testo che cataloghi in ordine cronologico (per data)
tutte le modifiche che effettuo alle varie maschere; la data e il form in
oggetto dovrebbe essere automatico, mentre il commento della modifica dovrei
inserirlo io. Ho provato ad inserire il codice che mi hai passato,
associandolo ad un tasto Rev_click ma dove gli dico il percorso di questo
file? Cioe' dove mi stampera' questo report???
Ciao e grazie

 Ciao e grazie
Beh, prima di tutto il codice che ti ho inviato non scrive l'output da
nessuna parte se non nella finestra di debug; quindi non utilizzabile come
sorgente dati ne per report ne per forms.
Provo ad intuire cosa vuoi fare e correggimi se sbaglio:
da un'altro mdb; hai una maschera che "punta" ad una tabella che vorresti
riempire con i nomi e la data ultima modifica delle forms situate in altri
mdb integrandole con dei commenti o note...
Ciao.

 ha scritto nel messaggio
news:9ies42$e3m$1...@canarie.caspur.it...

Non proprio,credo di voler ottenere qualcosa di piu' semplice:
Ho un db con 20 maschere che vado a modificare periodicamente. In ogni
maschera ho introdotto il codice che ho postato all'inizio. Questo mi
permette di tenere a mente le varie modifiche che faccio alle maschere e il
giorno in cui ho effettuato tali modifiche; questa dicitura
 "    Etichetta = "F_Componenti_Assiemi: Ver.  02.00.0003   Date:
06-07-2001"
mi permette di visualizzare la scritta sull'etichetta di ogni maschera in
questo caso del form F_Componenti_Assiemi.
Quel numero xx.xx.xxx3 che si visualizza è il progressivo delle varie
modifiche relative alla versione 02,pertanto è un valore crescente e non
ripetibile in quanto definisce che il giorno 6 lug ho effettuato la terza
modifica della seconda versione del programma.
Questa etichetta vorrei venisse riportata in un file di testo in maniera da
avere una lista cronologica delle modifiche che faccio al db.
Ovviamente il tutto dovra' essere inviato o in un file txt o anche un file
excel in modo tale che io ci possa mettere l'eventuale commento o
descrizione della modifica effettuata.
Spero di essermi spiegato anche se mi sono dilungato un po'.
Ciao.

 Ciao.
Hai provato ad associare ad un campo di una tabella il testo contenuto
nell'etichetta?
Ciao.

 ha scritto nel messaggio
news:9ievu7$gl7$1...@canarie.caspur.it...

Ci stavo provando, ma senza risultati.

 Ci stavo provando, ma senza risultati.
Qual'è il problema?


Potrei inserire il contenuto dell'etichetta di ogni form in una nuova
tabella, ma quando creo un label non riesco a pescare il valore
dell'etichetta dei vari form in quanto non ho scritto direttamente il valore
dell'etichetta ma ne ho creato una variabile etichetta.

 dell'etichetta ma ne ho creato una variabile etichetta.
Se ti crei una tabella dove inserisci il nome della form e quando apri la
form esegui un dlookup() che scrive il valore risultante nell'etichetta?

 ha scritto nel messaggio
news:9if4kt$jv4$1...@canarie.caspur.it...

Magariiii sapessi farlo!!!!

 ha scritto nel messaggio
news:dYE27.27054$rh.5...@news6.giganews.com...

...mi hai abbandonato???

 ha scritto nel messaggio
news:dYE27.27054$rh.5...@news6.giganews.com...

Dov'è l'ostacolo? La creazione di una tabella? Spero di no altrimenti siamo
inguaiati.
Provo ad abbozzare la struttura della tabella:
tabella "LogModifiche"
- campo: nomeForm    tipo: testo, 255 car;
- campo: numeroVersione    tipo: testo, 255 car;
- campo: commento    tipo: testo o note (dipende dalla quantità di testo che
vuoi inserire);
Nell'evento "su apertura" delle maschere inserisci il codice:
'--------
Private Sub Form_Open(Cancel As Integer)
Me.nomeEtichetta.Caption =
Nz(DLookup("numeroVersione","LogModifiche","nomeForm = '" & Me.name & "'"),
Null)
End Sub
'--------
Ciao.

 ...mi hai abbandonato???
Karma e gesso!
Sono semplicemente andato a casa; dopo il lavoro (qualche volta) torno a
casa...
Ciao.


Ma quando inserisco il codice come evento in apertura delle maschere, non
trova il nome etichetta in quanto,come da mio codice, l'etichetta non
dovrebbe avere nome ma essere una variabile:
...
Private Sub Form_Load()
Dim Etichetta As String    '.............. l'Etichetta diventa una variabile
    Etichetta = "F_Componenti_Assiemi: Ver.  02.00.0003   Date: 06-07-2001"
    Form.Caption = Etichetta
End Sub
...
per cui dovrei fargli scrivere il valore della variabile etichetta?

 ha scritto nel messaggio
news:yAU27.28326$rh.5...@news6.giganews.com...

e se usassi una macro? ..magari associandola ad un evento click in modo da
copiare l'etichetta del form F_Componenti_Assiemi e incollare in una tabella
anche di excel???


Che centra la variabile con il nome della maschera o l'etichetta?
Ho non ho capito cosa vuoi fare o la confusione regna sovrana...
Vuoi o no visualizzare (nella form stessa) in una etichetta il nome della
form e l'ultima versione con la data all'apertura della (aridaje!) form??
Sě? Allora devi gestire l'evento "su apertura" e inserire il codice che ti
ho proposto.
Es. (riadattato)
'--------
Private Sub Form_Open(Cancel As Integer)
Me.Caption = Me.Name & ": Ver." &
Nz(DLookup("numeroVersione","LogModifiche","nomeForm = '" & Me.name &
"'"),Null) & " Date: " & Nz(DLookup("DataVersione","LogModifiche","nomeForm
= '" & Me.name & "'"),Null)
End Sub
'--------
Vuoi o no memorizzarti le versioni e i periodi delle modifiche effettuate
sulle form con annesse annotazioni?
Sě? Allora ti serve una tabella con la struttura simile a quella che ti ho
proposto.
Poi ci sono altri 10.345 metodi alternativi per arrivare alla soluzione (ma
le macro no! Ti prego...); segli quello che ti aggrada di piů...
Ciao.

 anche di excel???
Tutto questo per semplificare il problema?

 ha scritto nel messaggio
news:9ihfd5$975$1...@canarie.caspur.it...

Questa volta di ho fatto proprio arrabbiare!...io ci ritento poi mi arrendo:
In un db in access 97 ho diverse form;
- come evento apertura di ogni form ho inserito questo comando
Private Sub Form_Load()
Dim Etichetta As String
    'All'avvio definisce il nr. di versione della maschera
    Etichetta = "F_Componenti: Ver.  01.00.0001   Date: 06-07-2001"
    Form.Caption = Etichetta
End Sub
che mi permette di visualizzare sulla sua barra del titolo (quella blu) il
nome del form, la versione e la data dell'ultima modifica (che io incremento
manualmente ogni volta che vi apporto qualche modifica);
- vorrei (e' d'obbligo) .... che in un file esterno .xls o txt o  in una
tabella o da qualsiasi altro parte che mi resti traccia di quanto ho fatto
su quel form, come questo esempio :
Nome form               versione       data della modifica      note
FrmPrimo                  01.xxxx1            xxxxxxxx
...effettuato modifica a......
FrmSecondo             01.xxxx2            xxxxxxxx
............................
...spero di essermi spiegato, altrimenti ti ringrazio infinitamente per la
tua pazienza e mi catapultero' su una pila di testi fino a quando avro' le
idee piu' chiare.
Ciao e ancora grazie

 Ciao e ancora grazie
Provare per credere...
Ciao.

 ha scritto nel messaggio
news:9ikcst$brn$1...@canarie.caspur.it...

Ora divento una questione di principio: ci devo riuscire o almeno capire
dove sbaglio:
ho creato la tabella.
ho creato un nuovo form vuoto e come evento load ho inserito il tuo codice
all'apertura dello stesso mi dice:
"Errore di run-time 2471 - l'espressione immessa come parametro di query ha
provocato il seguente errore: L'oggetto non contiene l'oggetto di
automazione 'DataVersione'
....e ora che faccio????
Grazie

 Grazie
Eh! Eh!
Mi ci metto pure io a incasinare la situazione; nella struttura della
tabella non ti ho indicato la creazione del capo DataVersione...
Ciao.

 ha scritto nel messaggio
news:9ikl4i$hm2$1...@canarie.caspur.it...

BRAVOOOOOOOOO?!?!?!?!?!?
Ci ritento! Ciao

 ha scritto nel messaggio
news:9ikl4i$hm2$1...@canarie.caspur.it...

 Ok ! Per ora funge!....ma come faccio ad incrementare la versione? devo
farlo io o lo fa in automatico?
Per ora, ogni volta che apro il form mi visualizza in alto il nome del form
Ver. Date:
Grazie

 ha scritto nel messaggio
news:9ikl4i$hm2$1...@canarie.caspur.it...

 Pardon!!...ora iniziavo dinuovo a fare confusione:
Quando faccio qualche modifica ad un form mi dovrebbe fare l'esatto
contrario: cioe' andare nella tabella LogModifiche e scrivermi la relativa
versione e data, e poi io ci metterei il commento.


Non mi pare che esista un evento che si scatena quando modifichi una form (o
altri oggetti) in modalità design. Potresti invece fare una routine che
legge e confronta le date di creazione/ultima modifica di ogni form
aggiornandoti o meglio inserendoti un nuovo record nella tabella
LogModifiche, aprendoti poi la maschera creata per aggiungererci eventuali
note hai nuovi record...
Ciao.

 ha scritto nel messaggio
news:9im1sb$feh$1...@canarie.caspur.it...

In effetti non e' necessario che cio' avvenga in automatico. Quando aggiorno
manualmente
qualche form o report (con il mio vecchio codice sull'evento Open) modifico
la versione
e la data manualmente e sin qui nessun problema, ma poi sono costretto a
scrivermi in sequenza
in una tabella o in un file di testo tutte le modifiche che ho fatto.
Ecco perche' ti proponevo una macro, in maniera tale che, a fine giornata,
mi facesse il lavoro di
andare a leggere l'ntestazione di ogni maschera e mi scrivesse nome form,
vers e data, da qualche
parte e io ci aggiungevo il commento alle modifiche.
Ciao


Concludendo?

 ha scritto nel messaggio
news:9imi6r$r09$1...@canarie.caspur.it...

..eee....concludendo...se riuscissi a trovare qualcosa che mi facesse quanto
detto sopra sarei in paradiso!
Comunque...grazie e alla prossima!
Ciao