Newsgroup: it.comp.appl.access
Titolo: Per Davide La Mantia (ma anche chiunque altro può aiutarmi)

Sul Sito Comune ho letto il messaggio relativo alla creazione di un
contatore autoazzerante ogni inizio anno inviato da Davide. La cosa mi
sarebbe di indubbia utilità, però nell'usare il codice da lui suggerito, nel
salvare la tabella mi dice che non è permesso l'uso di DMax.
Per chi legge, il consiglio è di inserire nella proprietà ValorePredefinito
questa espressione:
"E" & Format(Date();"aa") & "/" &
Format(IIf(IsNull(DMax("MioContatore";"MiaTabella";"MioContatore like '?" &
Format(Date();"aa") &
"/????'"));1;Right(DMax("MioContatore";"MiaTabella";"MioContatore like '?" &
Format(Date();"aa") & "/????'");4)+1);"0000")
Io uso Access2000, questo codice è scritto per Access97.
Come posso fare per utilizzarlo?
Grazie
Andrea

Risolto, tutto funziona, perň quando vado ad un nuovo record, il numero non
aumenta, rimane sempre al numero 1.
Perchč?
Andrea

 Andrea
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

sono errati.
Ho controllato i nomi campo/tabella e sono giusti. Per quanto riguarda il
registrare record, non me li fa inserire oltre al primo, in quanto ho
impostato questo numero come chiave primaria, indicizzata senza duplicati,
per cui mi avverte che non č possibile procedere all'immissione se prima non
si elimina questa caratteristica. Cosě facendo tutti i record hanno lo
stesso numero.
L'unica modifica che ho fatto č stata quella di aumentare il numero di cifre
significative dal max di 8 che il codice originale prevedeva a 10, che sono
quelle che mi servono, perň non credo che sia stato questo a sballare tutto.
Andrea

 Andrea
Ed allora devi postare lo script che usi tu e non quello che è pubblicato
sul Sito Comune che già si conosce e che è funzionante.
Sembrerebbe che nel riadattarlo hai commesso qualche errore.


>Ed allora devi postare lo script che usi tu
 ok, hai ragione.
Eccolo qui:
="" & Format(Date();"aaaa") & "  -  " &
Format(IIf(IsNull(DMax("[Progressivo]";"[tblSDIArmi]";"[Progressivo] like '"
& Format(Date();"aaaa") &
" -????????'"));1;Right(DMax("[Progressivo]";"[tblSDIArmi]";"[Progressivo]
like '" & Format(Date();"aaaa") & " -????????'");10)+1);"0000000000")
Progressivo è il campo contatore che mi serve, che è collocato in
tblSDIArmi.
Nello script originale (generato dal file trovato sul SitoComune), viene
generato un codice a 8 cifre. Io ho solo aggiunto 2 punto interrogativi dove
già presenti 8, e cambiato la cifra da 8 a 10.
C'è da dire, però, che nel TXT esplicativo, dopo il termine LIKE era
presente un ? (like '?"), che però nello script generato non esistono. Ho
provato ad inserirli, ma non è cambiato nulla.
Andrea

 ha scritto nel messaggio
news:mtYda.26335$7y3.8...@twister1.libero.it...

Se vuoi che il campo di tipo Testo chiamto Progressivo sia lungo
complessivamente 17 caratteri di cui i primi 4 sono l'anno, i successivi 3
sono la stringa " - " (spazio trattino spazio), e gli altri 10 sono un
numero progressivo di dieci cifre, prova così:
=Format(Date();"aaaa") & " - " &
Format(IIf(IsNull(DMax("[Progressivo]";"tblSDIArmi";"Progressivo like '" &
Format(Date();"aaaa") & " -
??????????'"));1;Right(DMax("Progressivo";"tblSDIArmi";"Progressivo like '"
& Format(Date();"aaaa") & " - ??????????'");4)+1);"0000000000")


 & Format(Date();"aaaa") & " - ??????????'");4)+1);"0000000000")
-----------------------------------------------^^^--------------
ahiahiahiahi,
robe' che e' sto quattro?
;-)
Sib

 provato ad inserirli, ma non è cambiato nulla.
quel punto interrogativo serve per il "testo prima" prova a generare un
contatore mettendo una lettera in quel controllo.
Cacchio pero'! ecche ci devi fare con dieci cifre? mi sembrava di avere
esagerato con otto!
Sib

"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:Rvsea.31899$7y3.1...@twister1.libero.it...

Scrivere 4 invece di 10 č segno di vecchiaia. :-)
Perň fino a 9999 avrebbe funzionato. ;-)


Cacchio pero'! ecche ci devi fare con dieci cifre?
Purtroppo nel documento per cui mi serve il progressivo, per motivi di
disposizioni ministeriali, il numero progressivo deve essere costituito da
10 cifre (noi in ufficio al max inseriamo una ventina di movimenti l'anno,
ma siccome il tutto funziona in ambito nazionale, si suppone che in alcuni
uffici si arrivi a numeri enormi - anche se effettivamente 10 cifre sono
troppe, però tanto sono gratis :-)))
Non ho ancora provato il suggerimento di Roberto (il PC mi si è bloccato per
un paio di giorni per una mancanza di corrente che ha danneggiato alcuni
file di sistema), ma proverò quanto prima.
Andrea

Ho provato a copiare ed incollare lo script tuo, ma non cambia niente,
passando con TAB al record due, mi fa inserire i dati, ma il contatore resta
sempre ad 1.
Nn è che magari devo cambiare qualche proprietà del controllo ? L'ho
impostato di sola lettura, in modo da non farlo modificare a mano (abilitato
NO bloccato SI).
O magari c'è da regolare il campo della tabella in qualche modo particolare
(è come chiave primaria)
Andrea

 ha scritto nel messaggio
news:HXEea.34915$Lr4.1...@twister2.libero.it...

Fermo restando, come dovresti aver capito dal dialogo tra me e Sib,  che lo
script corretto è:
= Format ( Date() ; "aaaa") & " - " & Format( IIf (IsNull (DMax
("[Progressivo]"; "tblSDIArmi"; "Progressivo like '" &  Format(Date();
"aaaa") & " - ??????????'")); 1; Right(DMax("Progressivo"; "tblSDIArmi";
"Progressivo like '" & Format(Date(); "aaaa") & " - ??????????'");10) + 1);
"0000000000")
ho provato per scrupolo ciò che ti ho suggerito ed a me funziona.
Non saprei cosa dirti.


>Non saprei cosa dirti
ho provato e riprovato, e alla fine ho trovato cosa non lo faceva
funzionare.
Per separare anno e cifre, invece di "/" ho impostato il file del SitoComune
con " - " (con spazio prima e dopo).
Mi sono accorto che davanti ai punti interrogativi tale spaziatore era
difettoso (mancava lo spazio), per cui li ho inseriti a mano e ora funziona.
grazie e scusate la rottura infinita
Andrea

 ha scritto nel messaggio
news:_8Uea.35418$7y3.1...@twister1.libero.it...

Scusami, ma allora non avevi fatto un copia ed incolla di ciň che ti avevo
suggerito io: non lo avevi neppure provato e continuavi a usare il tuo
codice e non il mio.
Cosě fai perdere inutilmente tempo a chi cerca di aiutarti, e non mi sembra
corretto.


Scusami, da una parte hai ragione, ma dall'altra ero in buona fede: il
Copia/Incolla l'ho fatto, ma sinceramente non so perchè non ha funzionato.
Mi sono accorto del problema dello spazio dopo, dopo aver provato di nuovo
l'utility del Sito Comune e dopo aver copiato a mano nuovamente il tuo
stesso script, e da allora ha funzionato.
Mi spiace se ti senti offeso, ma d'altro canto se io mi divertissi a
prendere per i fondelli la gente sui NG, credo che verrei liquidato molto
velocemente, tanto ce ne si accorge subito se qualcuno vuole solo perdere
tempo (è già successo quando frequentavo il NG dei Simulatori di volo,
quando si inseriva qualcuno che non aveva altro da fare nella vita se non
rompere, lo liquidavamo nel giro di pochi post).
Cmq, ti ringrazio sempre per la tua disponibilità, del resto sei uno dei
pochi (fortunatamente non sei l'unico) che risponde ai miei post dandomi una
mano e/o cmq facendo un pò di luce sui miei dubbi e perplessità, e spero che
questo piccolo inconveniente non significhi la fine di tutto ciò.
Scusami ancora.
Andrea

 ha scritto nel messaggio
news:LEXea.37606$Lr4.1...@twister2.libero.it...
D'accordo.
(in tempi di pace avrei detto OK)
