Newsgroup: it.comp.appl.access
Titolo: Aiuto: maschera per conteggio preferenze

Ciao a tutti,
 premetto che mastico poco Access, vorrei realizzare una maschera per
conteggiare le preferenze di una votazione. Ipotizzando che ci siano
10 candidati, vorrei far in modo che ogni volta che si clicca sul nome
o casella vicina sia conteggiato in una tabella 1 voto.
Mi potete aiutare?
Grazie anticipatamente
Ciao by
OBI
NB: Per E-mail sostituire la prima >o< con >r<

 OBI
Beh! se il controllo NVoti è presente nella maschera ti basterà scrivere:
Me.NVoti = NZ(Me.NVoti,0) + 1
Se non è presente nella maschera ma è presente nella tabella che alimenta la 
maschera hai più di una possibilità:
Creare una query di aggiornamento che prende la chiave primaria (come 
criterio) dalla maschera e aggiunge una unita al campo NVoti : "Aggiorna A": 
NZ([NVoti];0) + 1
Altra strada è quella del codice che apre il recordset e aggiunge "il voto".
Ciao, Carlo 


Ti ringrazio per la tua cortesia, saresti così gentile da spiegarmi
dettagliatamente la procedura da seguire?
Non ho il coraggio di chiederti di inviarmi in esempio.
Comunque grazie
Roberto


Se posso volentieri. Ho solo bisogno di sapere cosa vuoi fare, quale 
procedura preferisci.
Ciao, Carlo 


A questo punto non ho parole, dovrei registrare in tempo reale i
risultati di un'assemblea elettorale di un club sportivo. Ci saranno
sicuramente 2 candidati alla presidenza e 15 al consiglio di cui solo
9 saranno eletti. I votanti riceveranno un foglio con i nominativi da
votare massimo 6 preferenze. Lo scrutatore leggerà i nominativi
spuntati. A questo punto io dovrei cliccare con il mouse sopra ogni
nominativo richiamato dallo scrutatore e ogni click dove essere
inserito su una tabella per poi essere conteggiato al fine del
risultato finale. 
Alla fine dello scrutinio avrò una o più tabelle o report con la somma
delle preferenze.
Ti ringrazio Roberto
e-mail: 
roby...@tin.it

 ha scritto nel messaggio 
news:ahahq0to3ksgr6ccg...@4ax.com...

Supponiamo che la tabella "Candidati" sia così composta:
ID di tipo contatore Chiave Primaria
Nominativo di tipo testo 100 caratteri
A questa aggiungi una seconda tabella che puoi chiamare "TblVoti" con:
ID di tipo contatore chiave primaria
Candidato di tipo numerico lungo
Voto di tipo numerico intero
Passiamo alle relazioni: ID della tabella Candidati con Candidato della 
tabella TblVoti, relazione uno a molti referenziale.
La maschera MCandidati alimentata dalla tabella omonima, potrebbe essere 
anche di tipo tabulare in modo da vedere tutto l'elenco dei candidati. 
Inserisci un pulsante "Votato" e su click del pulsante inserisci questo 
codice:
Dim RCS as Recordset
Set RCS = currentdb.OpenRecordset("TblVoti")
If msgbox("Vuoi aggiungere un voto per il candidato " & Me!Nominativo, 
vbyesno, "Attribuzione voto") = 6 then
With rcs
.addnew
!Candidato = Me!ID
!Voto = 1
.update
end with
rcs.close
set rcs = nothing
end if
Il gioco è fatto. Alla fine una semplice query raggruppata con le due 
tabelle ti darà il risultato "in tempo reale".
In questa query metterai le due tabelle e le seguenti colonne:
ID e Candidato dalla tabella Candidati
Voto dalla tabella TblVoti
La formula sarà Raggruppamento per le due prime colonne e Somma per la 
terza.
Per raggruppare una query si clicca sull'icona Sommatoria oppure da 
Visualizza seleziona Totali.
Se poi imposti a crescente la colonna Voto otterrai i primi eletti in ordine 
crescente.
Questa che ti ho esposto è una delle possibili soluzioni.
Buon lavoro
Ciao, Carlo

Ciao, Carlo
Grazie
la soluzione va bene, ci provo anche se non credo di arrivare ad un
risultato decente, se riesci  a trovare un ritaglio di tempo per
impostare il file, sarebbe il massimo.
Veramente gentile buona domenica Roberto

 ha scritto nel messaggio 
news:499iq09dj77pg1i4e...@4ax.com...

Ciao Roberto
più di questo non è ammesso in questo NG.
Forniamo, quando ne siamo capaci e ne abbiamo voglia, un aiuto per 
indirizzare verso una soluzione del problema.
Non è prevista la realizzazione di intere strutture di database.
Comunque le informazioni che ti ho dato, da sole, sono sufficienti per 
un'ottima partenza.
Se dovessi incontrare delle difficoltà non esistare a postare.
Ciao, Carlo 


Ciao Carlo
ho creato le 2 tabelle e la maschera collegata alla prima tabella ora
ho inserito 1 pulsante a fianco di ogni nominativo, come faccio per
assegnargli il codice? ho provato con il dx e genera evento, si è
aperto Visual Basic con già alcune stringhe, dove inserisco i dati che
mi hai detto? Poi suppongo di cambiare solamente il nome all'interno
del codice per i pulsanti che seguono.
Grazie Roberto

Grazie Roberto
poi ricevo il msg 
Set RCS = CurrentDb.OpenRecordset("TblVoti") tipo non corrispondente
Roberto

 ha scritto nel messaggio 
news:c0rjq0dq15rjei309...@4ax.com...

Prima di tutto aperto il modulo dal menù Strumenti scegli Riferimenti. Qui 
scegli dall'elenco Microsoft DAO 3.51 object library (spuntalo). L'errore 
scomparirà.
Scomparirà se il nome TblVoti esiste veramente.
Togli il riferimento  - se presente - a Microsoft ActiveX Data Object.
Nel codice troverai queste due stringhe sempre presenti:
Option Compare Database
Option Explicit
Poi trovi il codice sull'evento Click del tuo pulsante, del tipo:
Private Sub Comando3_Click()
    'qui devi mettere il codice che ti ho postato
End Sub
Mi accorgo che sei veramente alle prime armi e non ti farei un buon servizio 
senza dirti di cominciare a studiare un po' la guida di Access ( a 
proprosito quale versione usi?) e se trovi anche qualche buon testo; ce ne 
sono diversi anche per principianti (for Dummy).
Ciao, Carlo 


Ti avevo detto che sono principiante,è un programma che ho usato
pochissimo, ho studiato tempo fa la grande guida di Access 2  ormai
obsoleta, sono riuscito a creare un db per gestire il conto corrente e
ripartire il saldo e le spese. 
La versione che uso ora è la 2002, ma nel menù strumenti di visul
Basic la voce riferimenti è in grigio non attivabile.
Ho creato la tabella "TblVoti" e "Candidati" e credo di dover
aggiungere i nominativi dei candidati sulla tabella candidati.
Ti ringrazio veramente per il tuo aiuto
Roberto
Grazie anticipatamente
Ciao by
OBI


scomparirà.
chiuso il db trovato e inserito spunta DAO 3.51

chiuso il db trovato e inserito spunta DAO 3.51
forse ci siamo:
ora il pulsante mi chiede la conferma, se possibile vorrei evitarla e
non inserisce il voto nella tabella
Roberto

 ha scritto nel messaggio 
news:o01kq09djhdtgp23v...@4ax.com...

Basta togliere tutto l'if....msgbox...end if  e lasciare il resto.
In pratica togli tutto quello che riguarda la domanda; resterà:
Dim RCS as Recordset
Set RCS = currentdb.OpenRecordset("TblVoti")
With rcs
.addnew
!Candidato = Me!ID
!Voto = 1
.update
end with
rcs.close
set rcs = nothing
Così facendo non hai nessun avviso...e se ti capita di cliccare sul pulsante 
due o più volte?
Ciao, Carlo 


Grazie anticipatamente


 ha scritto nel messaggio 
news:4i2kq0tqrd3fbc57u...@4ax.com...

La barca è in acqua, ora tocca a te riempirla con i passeggeri e le 
attrezzature.
Per lo studio oltre a quello che già ti ho detto leggiti qualcosa su VBA 
(Visual Basic for Applications).
Mi sembra di dare il compito a scuola...
Ciao, Carlo 


Approfitto della tua competenza e gentilezza, mi potresti suggerire
come fare per suddividere i candidati consiglieri dai candidati
Presidenti? (il tutto in una maschera)
Grazie Roberto

 ha scritto nel messaggio 
news:8ivlq0l5kat9stak7...@4ax.com...

Beh! una via potrebbe essere quella di aggiungere un campo alla tabella 
candidati con un solo carattere. Tale campo avrà solo due possibili valori: 
"P" o "C", P per presidente e C per consigliere.
Lo aggingi anche alla maschera e il gioco è fatto; accanto ogni nominativo 
avrai la P o la C.
Una query con un criterio (P o C) sul campo ti darà il risultato voluto.
Ciao, Carlo