Vorrei fare in modo che ad ogni nome che scrivo in "Nomi" passando da un
record al successivo il capo "Contatore" venga incrementato di 1
Grazieeee e buon week end a tutti
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it
Ciao,
perchè il campo Contatore è tipo numerico e non tipo contatore ?
In questo modo fa tutto lui.
Alberto
> On 8 Mag, 13:46, domy1...@gmail.com (Domy73) wrote:
> > Salve a tutti,
> > ho una tabella "Tabella1" con i campi "Contatore" (tipo Numerico) e "Nomi"
> > (tipo testo).
> > Poi ho creato una maschera "Maschera1" su �cui ci sono le rispettive
> > caselle di testo "Contatore" e "Nomi"
> >
> > Vorrei fare in modo che ad ogni nome che scrivo in "Nomi" passando da un
> > record al successivo il capo "Contatore" venga incrementato di 1
> >
> > Grazieeee e buon week end a tutti
> >
> > --
> >
> > questo articolo e` stato inviato via web dal servizio
gratuitohttp://www.newsland.it/newssegnala gli abusi ad ab...@newsland.it
> Ciao,
> perch� il campo Contatore � tipo numerico e non tipo contatore ?
> In questo modo fa tutto lui.
> Alberto
Perche voglio che nel caso in cui cancello l'ultimo record se ne aggiungo
uno nuovo riprende la numerazione , mentre con il contatore di access va
avanti nella numerazione, cioe se ho:
1 2 3 4 se cancello 4 e inserisco un record nuovo access va a 5 invece che
a 4
capito?
--
> almorel ha scritto:
> > On 8 Mag, 13:46, domy1...@gmail.com (Domy73) wrote:
> > > Salve a tutti,
> > > ho una tabella "Tabella1" con i campi "Contatore" (tipo Numerico) e
"Nomi"
> > > (tipo testo).
> > > Poi ho creato una maschera "Maschera1" su �cui ci sono le rispettive
> > > caselle di testo "Contatore" e "Nomi"
> > >
> > > Vorrei fare in modo che ad ogni nome che scrivo in "Nomi" passando da un
> > > record al successivo il capo "Contatore" venga incrementato di 1
> > >
> > > Grazieeee e buon week end a tutti
> > >
> > > --
> > >
> > > questo articolo e` stato inviato via web dal servizio
> gratuitohttp://www.newsland.it/newssegnala gli abusi ad ab...@newsland.it
> > Ciao,
> > perch� il campo Contatore � tipo numerico e non tipo contatore ?
> > In questo modo fa tutto lui.
> > Alberto
> Perche voglio che nel caso in cui cancello l'ultimo record se ne aggiungo
> uno nuovo riprende la numerazione , mentre con il contatore di access va
> avanti nella numerazione, cioe se ho:
> 1 2 3 4 se cancello 4 e inserisco un record nuovo access va a 5 invece che
> a 4
> capito?
A tua scelta:
http://www.accessgroup.it/HomeArgomenti.asp?ID=217&Oggetto2=Esempi di
contatori
http://www.accessgroup.it/HomeArgomenti.asp?ID=216&Oggetto2=Contatori
alfanumerici con i recordset
http://www.accessgroup.it/HomeArgomenti.asp?ID=213&Oggetto2=Contatore
personalizzato in una LAN
--
sv
Ciao, oltre a quanto suggerito, puoi semplicemente scrivere su Prima
di aggiornare della maschera:
Me.Contatore = Nz(DMax("Contatore", "Tabella1"), 0) + 1
Ciao Vladimiro.
[cut]
>
>> Ciao,
>> perch� il campo Contatore � tipo numerico e non tipo contatore ?
>> In questo modo fa tutto lui.
>> Alberto
>
> Perche voglio che nel caso in cui cancello l'ultimo record se ne
> aggiungo uno nuovo riprende la numerazione , mentre con il contatore
> di access va avanti nella numerazione, cioe se ho:
>
> 1 2 3 4 se cancello 4 e inserisco un record nuovo access va a 5 invece
> che a 4
>
> capito?
>
>
>
a cosa ti serve una 'feature' del genere?
per conoscere il numero di record in tabella, esistono funzioni apposta;
usare max(contatore) non e' la via giusta.
e soprattutto non ha vantaggi rispetto a count(nomeCampo), ha solo
svantaggi.
--
Paolo opg
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--
> Domy73 ha scritto:
> > almorel ha scritto:
> > > On 8 Mag, 13:46, domy1...@gmail.com (Domy73) wrote:
> > > > Salve a tutti,
> > > > ho una tabella "Tabella1" con i campi "Contatore" (tipo Numerico) e
> "Nomi"
> > > > (tipo testo).
> > > > Poi ho creato una maschera "Maschera1" su �cui ci sono le rispettive
> > > > caselle di testo "Contatore" e "Nomi"
> > > >
> > > > Vorrei fare in modo che ad ogni nome che scrivo in "Nomi" passando da
un
> > > > record al successivo il capo "Contatore" venga incrementato di 1
> > > >
> > > > Grazieeee e buon week end a tutti
> > > >
> > > > --
> > > >
> > > > questo articolo e` stato inviato via web dal servizio
> > gratuitohttp://www.newsland.it/newssegnala gli abusi ad ab...@newsland.it
> > > Ciao,
> > > perch� il campo Contatore � tipo numerico e non tipo contatore ?
> > > In questo modo fa tutto lui.
> > > Alberto
> > Perche voglio che nel caso in cui cancello l'ultimo record se ne aggiungo
Grazie infinite per la risposta
> domy...@gmail.com (Domy73) wrote in news:hs3l8u$4d7$1...@news.newsland.it:
> [cut]
> >
> >> Ciao,
> >> perch� il campo Contatore � tipo numerico e non tipo contatore ?
> >> In questo modo fa tutto lui.
> >> Alberto
> >
> > Perche voglio che nel caso in cui cancello l'ultimo record se ne
> > aggiungo uno nuovo riprende la numerazione , mentre con il contatore
> > di access va avanti nella numerazione, cioe se ho:
> >
> > 1 2 3 4 se cancello 4 e inserisco un record nuovo access va a 5 invece
> > che a 4
> >
> > capito?
> >
> >
> >
> a cosa ti serve una 'feature' del genere?
> per conoscere il numero di record in tabella, esistono funzioni apposta;
> usare max(contatore) non e' la via giusta.
> e soprattutto non ha vantaggi rispetto a count(nomeCampo), ha solo
> svantaggi.
Grazie infinite per la risposta
--
> per conoscere il numero di record in tabella, esistono funzioni apposta;
> usare max(contatore) non e' la via giusta.
e cosa ne sai di quello che ha realmente bisogno?
>
> e soprattutto non ha vantaggi rispetto a count(nomeCampo), ha solo
> svantaggi.
dovresti fare degli esempi per affermare quello che dici :-)
Ciao Vladimiro.
>
>> a cosa ti serve una 'feature' del genere?
> Salve a tutti,
> ho una tabella "Tabella1" con i campi "Contatore" (tipo Numerico) e
> "Nomi"
> (tipo testo).
> Poi ho creato una maschera "Maschera1" su cui ci sono le rispettive
> caselle di testo "Contatore" e "Nomi"
> Vorrei fare in modo che ad ogni nome che scrivo in "Nomi" passando da
> un
> record al successivo il capo "Contatore" venga incrementato di 1
>
>> per conoscere il numero di record in tabella, esistono funzioni
>> apposta; usare max(contatore) non e' la via giusta.
> e cosa ne sai di quello che ha realmente bisogno?
niente, perche' l'op non ha spiegato l'esigenza, ma la soluzione che
vuol mettere in atto.
dato che le domande che girano son sempre quelle e che il campo
contatore continua *erroneamente* a essere usato in un modo che non e'
quello per cui e' stato creato (non e' un contatore, checche' ne dica il
nome), dopo un po' che bazzichi icaa, l'osservazione viene abbastanza
spontanea...
senza contare che secondo me non e' corretto riutilizzare un
identificativo assegnandolo a due record diversi, anche e soprattutto se
uno dei due viene eliminato.
>>
>> e soprattutto non ha vantaggi rispetto a count(nomeCampo), ha solo
>> svantaggi.
> dovresti fare degli esempi per affermare quello che dici :-)
> Ciao Vladimiro.
>
>
a dire il vero, dovresti fare tu qualche esempio che mostri i vantaggi
di max(contatore) rispetto a count(nomeCampo), se vuoi ottenere il
conteggio delle righe...
count(nomeCampo) funziona su qualsiasi tabella, quale che sia il modo di
gestire l'indice.
max(contatore) funziona solo se l'indice rispetta un po' di condizioni:
- l'indice e' un campo numerico intero autoincrementante
- l'indice parte da 1
- l'incremento dell'indice e' 1
- non e' stato cancellato nessun record
e l'ultimo punto e' puttosto penalizante: max(contatore) non ti dice se
ci sono buchi nella sequenza dell'indice, pero' restituisce un valore
sempre e comunque, valore che a volte, ma senza garanzie, corrisponde col
numero di record.
vantaggi del campo contatore?
max(contatore) funziona solo se l'indice rispetta un po' di
condizioni:
- l'indice e' un campo numerico intero autoincrementante
Risposta: è semplicemente un campo numerico
- l'indice parte da 1
Risposta: una volta implementato il primo record, puoi modificare il
valore del campo contatore con un valore (numero) qualsiasi
- l'incremento dell'indice e' 1
Risposta: l'incremento (costante) lo decidi tu
- non e' stato cancellato nessun record
Risposta: puoi solo limitarti a cancellare l'ultimo record
e l'ultimo punto e' puttosto penalizante: max(contatore) non ti dice
se
ci sono buchi nella sequenza dell'indice, pero' restituisce un valore
sempre e comunque, valore che a volte, ma senza garanzie, corrisponde
col
numero di record.
Risposta: come già detto sopra, se si pensa di cancellare qualsiasi
record e non si ha la necessità di creare un progressivo partendo da
un numero qualsiasi, è bene usare la funzione DCount al posto della
funzione DMax:
Me.Contatore = Nz(DCount("Contatore", "Tabella1"), 0) + 1
Ciao Vladimiro
[cut]
>>
>> vantaggi del campo contatore?
> Partiamo da qui.
> 1) Il campo si chiama contatore ma � tipo dati numerico, non tipo dati
> contatore e credo che questo sia abbastanza evidente.
credi male...
ci sono spesso domande che riguardano come 'sistemare' la numerazione,
perche' altrimenti i valori nel campo 'non contano piu''.
oppure su come 'tappare' i buchi nella numerazione sempre per lo stesso
motivo.
> 2) Se vuoi solo contare i records della tabella � giusto usare la
> funzione DCount mentre se vuoi un progressivo partendo da un numero
> qualsiasi (inserito anche manualmente) devi per forza usare la
> funzione DMax.
parlavamo di contare, quindi e' il primo caso che descrivi.
> 3) Lo so che � rischioso usare questo metodo (e probabilmente fai bene
> tu ad evidenziarlo), per� io rispondo alle domande nel modo in cui
> esse vengono poste, considerando che delle volte le richieste non sono
> altro che scorciatoie per un problema pi� grande che non si riesce a
> spiegare.
>
esatto, concordo soprattutto sul secondo punto.
tante volte un tentativo di spiegazione, oppure anche solo due parole in
piu', riuscirebbero a contestualizzare la necessita' del'op e le risposte
sarebbero sicuramente piu' mirate e meno vaghe/generiche.
> max(contatore) funziona solo se l'indice rispetta un po' di
> condizioni:
> - l'indice e' un campo numerico intero autoincrementante
> Risposta: � semplicemente un campo numerico
>
> - l'indice parte da 1
> Risposta: una volta implementato il primo record, puoi modificare il
> valore del campo contatore con un valore (numero) qualsiasi
>
se e' diverso da 1, non puoi piu' usarlo per contare, quindi deve essere
1, per via del discorso che stavamo facendo.
> - l'incremento dell'indice e' 1
> Risposta: l'incremento (costante) lo decidi tu
>
vedi sopra. se non e' 1, non puoi usarlo per contare.
> - non e' stato cancellato nessun record
> Risposta: puoi solo limitarti a cancellare l'ultimo record
>
appunto.
oppure puoi cancellare un record a caso e ricilarne l'id (brividi e
terrore).
> e l'ultimo punto e' puttosto penalizante: max(contatore) non ti dice
> se
> ci sono buchi nella sequenza dell'indice, pero' restituisce un valore
> sempre e comunque, valore che a volte, ma senza garanzie, corrisponde
> col
> numero di record.
> Risposta: come gi� detto sopra, se si pensa di cancellare qualsiasi
> record e non si ha la necessit� di creare un progressivo partendo da
> un numero qualsiasi, � bene usare la funzione DCount al posto della
> funzione DMax:
> Me.Contatore = Nz(DCount("Contatore", "Tabella1"), 0) + 1
>
prendo atto che anche tu non hai da segnalare nessun vantaggio nell'uso
del campo contatore come 'contatore' delle righe.
imho conviene usare la funzione/il campo per lo scopo per cui e'
previsto.
usare la 'scorciatoia' di contare le righe usando il campo contatore,
imho ha solo svantaggi rispetto al max() (o dcount)
Ciao Vladimiro.
> On 11 Mag, 09:09, Paolo opg <spamcatc...@tiscali.it> wrote:
>> Vladimiro Leone <vladil...@alice.it> wrote
>> innews:26627de4-2b2b-4d03-b57f
> -a6b27f...@s29g2000yqd.googlegroups.com:
>>
>> [cut]
>>
>>
>>
>> >> vantaggi del campo contatore?
>> > Partiamo da qui.
>> > 1) Il campo si chiama contatore ma � tipo dati numerico, non tipo
>> > dat
> i
>> > contatore e credo che questo sia abbastanza evidente.
>>
>> credi male...
> sempre prendendo per buono che hai capito che il campo Contatore (che
> potremmo chiamare anche Pippo) non ha nulla a che vedere con il campo
> Tipo dati contatore che in genere chiamiamo ID
questa e' una tua ipotesi.
l'op non dice se c'e' un id in tabella (access non ti obbliga ad averlo)
e nemmeno se il contatore sia l'id del record o no...
e se per caso il contatore di cui parliamo non e' l'id ma solo un
progressivo, viene il dubbio: un campo apposta per tenere un progressivo?
non e' meglio generarlo al volo, il progressivo?
se invece e' necessario salvarlo anche se non e' chiave, per cosa viene
utilizzato?
magari (ipotesi, intendiamoci) per contare le righe?
la tua supposizione, porta ancora alla possiblita' che ci sia dietro il
famigerato uso malinteso del contatore...
>>
>> ci sono spesso domande che riguardano come 'sistemare' la
>> numerazione, perche' altrimenti i valori nel campo 'non contano
>> piu''.
>>
>> oppure su come 'tappare' i buchi nella numerazione sempre per lo
>> stesso motivo.
> sono altri tipi di problemi che per il momento non riguardano questo
> thread
>>
>> > 2) Se vuoi solo contare i records della tabella � giusto usare la
>> > funzione DCount mentre se vuoi un progressivo partendo da un numero
>> > qualsiasi (inserito anche manualmente) devi per forza usare la
>> > funzione DMax.
>>
>> parlavamo di contare, quindi e' il primo caso che descrivi.
> � solo una tua supposizione, ti riporto la domanda:
> Vorrei fare in modo che ad ogni nome che scrivo in "Nomi" passando da
> un
> record al successivo il capo "Contatore" venga incrementato di 1
e' una mia supposizione, proprio perche' di post simili, fatti con lo
stesso intento, ne passano spesso.
un po' meno che in passato, a dire il vero, ma se ne vedono ancora ^^
>>
>> > 3) Lo so che � rischioso usare questo metodo (e probabilmente fai
>> > ben
> e
>> > tu ad evidenziarlo), per� io rispondo alle domande nel modo in cui
>> > esse vengono poste, considerando che delle volte le richieste non
>> > sono altro che scorciatoie per un problema pi� grande che non si
>> > riesce a spiegare.
>>
>> esatto, concordo soprattutto sul secondo punto.
>> tante volte un tentativo di spiegazione, oppure anche solo due parole
>> in piu', riuscirebbero a contestualizzare la necessita' del'op e le
>> risposte sarebbero sicuramente piu' mirate e meno vaghe/generiche.
> ti ho gi� risposto che mi limito a rispondere alle domande nel modo in
> cui esse vengono poste, magari con qualche consiglio che mi sento di
> dare in quel momento
esattamente come faccio io.
e visto che lo stampino sembra quello, mi son sentito di sconsigliare
l'utilizzo del campo contatore per contare le righe...
[cut]
>>
>> imho conviene usare la funzione/il campo per lo scopo per cui e'
>> previsto.
> Ripeto: ma stiamo parlando della stessa cosa? :-)
eh... il dubbio m'e' venuto ^^
io dal primo post sconsiglio di usare il campo contatore per contare i
record e sto ancora facendo quello...
ho una tabella "Tabella1" con i campi "Contatore" (tipo Numerico) e
"Nomi"
(tipo testo).
non credo ci possano essere interpretazioni varie al riguardo, a meno
che uno non sappia la differenza che passa tra un campo numerico e un
campo contatore(ma non è mica una colpa, stiamo tutti qui per
imparare).
1) un campo con tipo dati numerico,non può in nessun modo paragonarsi
al contatore di Access,
2) non può autoincrementarsi,
3) a differenza del vero contatore di Access, il valore del campo può
essere modificato.
Ciao Vladimiro.
[cut]
>>
>>
>> >> imho conviene usare la funzione/il campo per lo scopo per cui e'
>> >> previsto.
>> > Ripeto: ma stiamo parlando della stessa cosa? :-)
>>
>> eh... il dubbio m'e' venuto ^^
> lungi da me polemizzare, ma se la domanda � la seguente:
>
> ho una tabella "Tabella1" con i campi "Contatore" (tipo Numerico) e
> "Nomi"
> (tipo testo).
>
> non credo ci possano essere interpretazioni varie al riguardo, a meno
> che uno non sappia la differenza che passa tra un campo numerico e un
> campo contatore(ma non � mica una colpa, stiamo tutti qui per
> imparare).
> 1) un campo con tipo dati numerico,non pu� in nessun modo paragonarsi
> al contatore di Access,
hem...
probabilmente non sei pratico di access, ma il campo contatore e' un
numero autoincrementante, di cui puoi stabilire gli incrementi.
se ti crei un campo numerico e lo popoli incrementandone il valore
seguendo una logica perfissata (+1 per ogni nuovo record, -1, +2 altro a
piacere) hai ottenuto lo stesso comportamento.
tanto e' vero che i dati contenuti in un campo 'contatore' (tipo dati,
non nome campo, non confonderti) possono essere copiati in un campo
numerico.
> 2) non pu� autoincrementarsi,
> 3) a differenza del vero contatore di Access, il valore del campo pu�
> essere modificato.
>
> Ciao Vladimiro.
>
>
la tua descrizione, riporta alla domanda da cui io sono partito con le
mie risposte.
a cosa serve registrare in tabella un campo con tipo dati numerico, che
l'op vuole incrementare di una unita' a ogni inserimento e che ha
chiamato contatore?
nei post precedenti una tua ipotesi (non mia, tua) era anche che il campo
con nome contatore (nome campo, non tipo dati, non fare confusione) non
fosse nemmeno chiave.
metti insieme le tue ipotesi, con la descrizione che hai fatto
nell'ultimo tuo post e pensaci su.
riporto la domanda: a cosa serve un campo numerico, da incrementare di
una unita' a ogni inserimento e che pare (pare, io e te non lo sappiamo)
non sia chiave?
stranamente l'op cerca di ottenere un comportamento molto simile al
comportamento del tipo dati contatore (tipo dati, attenzione, non nome
campo, non confonderti).
ma vuoi vedere che magari (ipotesi, eh, dallo scarno post iniziale giusto
quelle si possono fare) l'op vuole usare questo campo per contare le
righe?
che ci sia cascato pure lui, anche se vuole usare un campo numerico
invece di uno con tipo dati contatore (tipo dati, non nome campo, non
confonderti)?
>
> ma vuoi vedere che magari (ipotesi, eh, dallo scarno post iniziale giusto
> quelle si possono fare) l'op vuole usare questo campo per contare le
> righe?
>
> che ci sia cascato pure lui, anche se vuole usare un campo numerico
> invece di uno con tipo dati contatore (tipo dati, non nome campo, non
> confonderti)?
Se non si è fatto più sentire, un motivo ci sarà non credi?
E... dulcis in fundo, se rileggi attentamente tutto il post, ti
accorgerai che ho sempre puntualizzato che il campo Contatore di cui
si stava discutendo, è un campo con Tipo dati numerico, per cui il tuo
non "confonderti" mi pare abbastanza gratuito. Ti avevo già risposto
che non mi piace polemizzare, però se ci sono novità o suggerimenti in
quello che dici è bene continuare, altrimenti, per non ripetere sempre
la stessa pappardella, è bene chiudere qui.
:-)
Ciao Vladimiro.
[cut]
>>
>> ma vuoi vedere che magari (ipotesi, eh, dallo scarno post iniziale
>> giusto quelle si possono fare) l'op vuole usare questo campo per
>> contare le righe?
>>
>> che ci sia cascato pure lui, anche se vuole usare un campo numerico
>> invece di uno con tipo dati contatore (tipo dati, non nome campo, non
>> confonderti)?
> Se non si � fatto pi� sentire, un motivo ci sar� non credi?
> E... dulcis in fundo, se rileggi attentamente tutto il post, ti
> accorgerai che ho sempre puntualizzato che il campo Contatore di cui
> si stava discutendo, � un campo con Tipo dati numerico, per cui il tuo
> non "confonderti" mi pare abbastanza gratuito. Ti avevo gi� risposto
> che non mi piace polemizzare, per� se ci sono novit� o suggerimenti in
> quello che dici � bene continuare, altrimenti, per non ripetere sempre
> la stessa pappardella, � bene chiudere qui.
>:-)
> Ciao Vladimiro.
>
sono partito scrivendo di un campo 'contatore'; rileggi i miei primi due
post e vedrai che se li leggi interpretando 'contatore' come 'campo con
tipo dati contatore' o 'campo con tipo dati numerico con incrementi
unitari' (situazione dell'op), il senso di quello che ho scritto non
cambia.
il tipo dati non l'ho proprio considerato, perche' la risposta che ho
postato vale indipendentemente dal tipo dati del campo usato per
'contare'.
se pero' c'e' una incomprensione proprio sul punto di partenza, direi che
hai ragione e conviene chiudere.
se l'op non si e' fatto piu' sentire, probabilmente sara' svenuto
leggendo il thread ^^