Discussione:
Contatore personalizzato
(troppo vecchio per rispondere)
Domy73
2010-05-08 11:46:01 UTC
Permalink
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 gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
almorel
2010-05-08 12:12:12 UTC
Permalink
Post by Domy73
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
--
Ciao,
perchè il campo Contatore è tipo numerico e non tipo contatore ?
In questo modo fa tutto lui.
Alberto
Domy73
2010-05-08 12:26:06 UTC
Permalink
Post by almorel
Post by Domy73
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
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?
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
sv
2010-05-09 08:07:56 UTC
Permalink
Post by Domy73
Post by almorel
Post by Domy73
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
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
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
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Domy73
2010-05-10 08:06:48 UTC
Permalink
Post by Domy73
Post by Domy73
Post by almorel
Post by Domy73
Salve a tutti,
ho una tabella "Tabella1" con i campi "Contatore" (tipo Numerico) e
"Nomi"
Post by Domy73
Post by almorel
Post by Domy73
(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
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
Post by Domy73
Post by Domy73
uno nuovo riprende la numerazione , mentre con il contatore di access va
1 2 3 4 se cancello 4 e inserisco un record nuovo access va a 5 invece che
a 4
capito?
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
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Paolo opg
2010-05-10 07:18:31 UTC
Permalink
***@gmail.com (Domy73) wrote in news:hs3l8u$4d7$***@news.newsland.it:

[cut]
Post by Domy73
Post by almorel
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
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
2010-05-10 08:07:29 UTC
Permalink
Post by Paolo opg
[cut]
Post by Domy73
Post by almorel
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
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
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Vladimiro Leone
2010-05-10 13:18:57 UTC
Permalink
Post by Paolo opg
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
Post by Paolo opg
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?
Post by Paolo opg
e soprattutto non ha vantaggi rispetto a count(nomeCampo), ha solo
svantaggi.
dovresti fare degli esempi per affermare quello che dici :-)
Ciao Vladimiro.
Paolo opg
2010-05-10 15:24:37 UTC
Permalink
Post by Domy73
Post by Paolo opg
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
Post by Paolo opg
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.
Post by Domy73
Post by Paolo opg
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?
--
Paolo opg

BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--
Vladimiro Leone
2010-05-10 17:24:45 UTC
Permalink
Post by Paolo opg
Post by Domy73
Post by Paolo opg
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
Post by Paolo opg
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.
Post by Domy73
Post by Paolo opg
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.
- 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?
Partiamo da qui.
1) Il campo si chiama contatore ma è tipo dati numerico, non tipo dati
contatore e credo che questo sia abbastanza evidente.
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.
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.

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
Paolo opg
2010-05-11 07:09:02 UTC
Permalink
Vladimiro Leone <***@alice.it> wrote in news:26627de4-2b2b-4d03-b57f-***@s29g2000yqd.googlegroups.com:

[cut]
Post by Vladimiro Leone
Post by Paolo opg
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.
Post by Vladimiro Leone
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.
Post by Vladimiro Leone
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.
Post by Vladimiro Leone
max(contatore) funziona solo se l'indice rispetta un po' di
- 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.
Post by Vladimiro Leone
- l'incremento dell'indice e' 1
Risposta: l'incremento (costante) lo decidi tu
vedi sopra. se non e' 1, non puoi usarlo per contare.
Post by Vladimiro Leone
- 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).
Post by Vladimiro Leone
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
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)
--
Paolo opg

BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--
Vladimiro Leone
2010-05-11 15:31:21 UTC
Permalink
Post by Paolo opg
[cut]
Post by Vladimiro Leone
Post by Paolo opg
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...
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
Post by Paolo opg
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
Post by Paolo opg
Post by Vladimiro Leone
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
Post by Paolo opg
Post by Vladimiro Leone
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.
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
Post by Paolo opg
Post by Vladimiro Leone
max(contatore) funziona solo se l'indice rispetta un po' di
- 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.
Post by Vladimiro Leone
- l'incremento dell'indice e' 1
Risposta: l'incremento (costante) lo decidi tu
vedi sopra. se non e' 1, non puoi usarlo per contare.
secondo me ti stai un pò troppo fossilizzando sulla conta dei records
(tra l'altro già visualizzabile nei Selettori record), qui si sta
parlando di numeri progressivi, quindi, chi ti dice che potrei aver
bisogno di un progressivo formato solo da numeri dispari? In questo
caso, basta inserire manualmente 1 sul primo record e con Me.Contatore
= Nz(DMax("Contatore", "Tabella1"), 0) + 2 ottengo quello che voglio
Post by Paolo opg
Post by Vladimiro Leone
- 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).
ma perchè se cancelli un qualsiasi record, credi che gli altri numeri
inseriti vengano rimescolati senza lasciare nessun "buco"? Quello che
ti ho scritto riguarda sempre e comunque l'ultimo record sia se stai
usando DCount che DMax.
Post by Paolo opg
Post by Vladimiro Leone
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
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.
ti ho già scritto che mi limito a rispondere alle domande nel modo in
cui esse vengono poste, per cui non posso a priori escudere una
funzione rispetto ad un'altra e tantomeno consigliare magari un ciclo
che in un sol colpo ti numera i records senza il bisogno e il rischio
di un progressivo automatizzato.
Post by Paolo opg
imho conviene usare la funzione/il campo per lo scopo per cui e'
previsto.
Ripeto: ma stiamo parlando della stessa cosa? :-)
Post by Paolo opg
usare la 'scorciatoia' di contare le righe usando il campo contatore,
imho ha solo svantaggi rispetto al max() (o dcount)
--
Paolo opg
BE AWARE that this post uses a fake reply-to address
janickg ( at ) hotmail ( dot ) com
--
Ciao Vladimiro.
Paolo opg
2010-05-11 16:24:39 UTC
Permalink
Post by Vladimiro Leone
innews:26627de4-2b2b-4d03-b57f
[cut]
Post by Vladimiro Leone
Post by Paolo opg
vantaggi del campo contatore?
Partiamo da qui.
1) Il campo si chiama contatore ma è tipo dati numerico, non tipo
dat
i
Post by Vladimiro Leone
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...
Post by Vladimiro Leone
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
Post by Vladimiro Leone
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.
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 ^^
Post by Vladimiro Leone
Post by Vladimiro Leone
3) Lo so che è rischioso usare questo metodo (e probabilmente fai
ben
e
Post by Vladimiro Leone
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]
Post by Vladimiro Leone
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...
--
Paolo opg

BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--
Vladimiro Leone
2010-05-11 19:27:21 UTC
Permalink
Post by Paolo opg
Post by Vladimiro Leone
innews:26627de4-2b2b-4d03-b57f
[cut]
Post by Vladimiro Leone
Post by Paolo opg
vantaggi del campo contatore?
Partiamo da qui.
1) Il campo si chiama contatore ma è tipo dati numerico, non tipo
dat
i
Post by Vladimiro Leone
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...
Post by Vladimiro Leone
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
Post by Vladimiro Leone
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.
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 ^^
Post by Vladimiro Leone
Post by Vladimiro Leone
3) Lo so che è rischioso usare questo metodo (e probabilmente fai
ben
e
Post by Vladimiro Leone
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]
Post by Vladimiro Leone
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,
2) non può autoincrementarsi,
3) a differenza del vero contatore di Access, il valore del campo può
essere modificato.

Ciao Vladimiro.
Paolo opg
2010-05-12 07:15:30 UTC
Permalink
Vladimiro Leone <***@alice.it> wrote in news:e2027bd2-e32f-42ad-bfe6-***@e2g2000yqn.googlegroups.com:

[cut]
Post by Domy73
Post by Paolo opg
Post by Vladimiro Leone
Post by Paolo opg
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 ^^
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.
Post by Domy73
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)?
--
Paolo opg

BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--
Vladimiro Leone
2010-05-12 17:51:25 UTC
Permalink
Post by Paolo opg
[cut]
Post by Domy73
Post by Paolo opg
Post by Vladimiro Leone
Post by Paolo opg
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 ^^
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.
Aggiungendo la tua frase:(tipo dati, attenzione, non nome campo, non
confonderti)
appunto perchè non mi confondo, mi spieghi dove trovi quest'opzione?
Io so solo che il contatore di Access può essere preimpostato o con
incremento (in default con incremento di 1) oppure (sempre in default)
con numeri casuali.
Post by Paolo opg
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.
ma stiamo parlando di campo numerico, non campo contatore
Post by Paolo opg
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.
e mi spieghi cosa c'entra? Si possono fare tante cose con i numeri
rilasciati dal contatore
Post by Paolo opg
Post by Domy73
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.
se parli di queste domande aggiungendo sempre la tua frase (tipo dati,
non nome campo, non confonderti):
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
Risposta: non posso applicare la funzione DMax su un contatore
- 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.
Risposta: già ti ho spiegato che sia usare la funzione DCount che DMax
non ti preserva dall'avere "buchi" a meno che non cancelli sempre e
solo l'ultimo record
Post by Paolo opg
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?
questo non lo so, però se uno lo chiede è bene dargli una risposta
Post by Paolo opg
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.
non mi pare di aver mai nominato la chiave primaria
Post by Paolo opg
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?
ed è proprio qui la differenza e l'utilità di usare Dmax e non DCount
in quanto solo Dmax ti garantisce un numero incrementale quasi se
fosse chiave primaria (pensaci)
Post by Paolo opg
stranamente l'op cerca di ottenere un comportamento molto simile al
comportamento del tipo dati contatore (tipo dati, attenzione, non nome
campo, non confonderti).
Risposta: ti riporto la spiegazione di Domy73
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
Post by Paolo opg
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.
Paolo opg
2010-05-13 07:46:22 UTC
Permalink
Vladimiro Leone <***@alice.it> wrote in news:a5cef9fc-710c-4647-aab7-***@l31g2000yqm.googlegroups.com:

[cut]
Post by Vladimiro Leone
Post by Paolo opg
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 ^^
--
Paolo opg

BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--
Vladimiro Leone
2010-05-09 16:51:30 UTC
Permalink
Post by Domy73
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
--
Ciao, oltre a quanto suggerito, puoi semplicemente scrivere su Prima
di aggiornare della maschera:
Me.Contatore = Nz(DMax("Contatore", "Tabella1"), 0) + 1
Ciao Vladimiro.
Continua a leggere su narkive:
Loading...