Classifica da una maschera filtrata tramite una casella combinata

di il
28 risposte

28 Risposte - Pagina 2

  • Re: Classifica da una maschera filtrata tramite una casella combinata

    Ciao sihsandrea, buonasera, ho un problema che non riesco a risolvere, nella Query di unione “Classifica” non riesco ad inserire l'IDtorneo mentre nella Query “Risultati Generali” l'ID mi appare. (La query  Classifica prende i dati dalla query “Risultati Generali”)

    Ciao, grazie per l'aiuto.

  • Re: Classifica da una maschera filtrata tramite una casella combinata

    Posta la query che non va

  • Re: Classifica da una maschera filtrata tramite una casella combinata

    Buongiorno sihsandrea la query è questa :

    SELECT DISTINCTROW [Risultati Generali].[Giocatore A] AS Giocatore, Sum([Risultati Generali].PuntiA) AS [Punti], Sum([Risultati Generali].GiocateA) AS [Giocate],Sum([Risultati Generali].VinteA) AS [Vinte],Sum([Risultati Generali].PareggiA) AS [Pareggi],Sum([Risultati Generali].SconfitteA) AS [Sconfitte]
    FROM [Risultati Generali]
    GROUP BY [Risultati Generali].[Giocatore A];
    UNION SELECT DISTINCTROW [Risultati Generali].[Giocatore B] AS Giocatore, Sum([Risultati Generali].PuntiB) AS [Punti], Sum([Risultati Generali].GiocateB) AS [Giocate],Sum([Risultati Generali].VinteB) AS [Vinte],Sum([Risultati Generali].PareggiB) AS [Pareggi],Sum([Risultati Generali].SconfitteB) AS [Sconfitte]
    FROM [Risultati Generali]
    GROUP BY [Risultati Generali].[Giocatore B]
    ORDER BY Punti DESC, Giocate ASC;

    Ciao, e grazie.

  • Re: Classifica da una maschera filtrata tramite una casella combinata

    Ciao sihsandrea, ho postato il file su Dropbox se vuoi dargli un occhiata, il link è questo :

    https://www.dropbox.com/scl/fi/bgndsbplua638wlmu956y/DatabaseScacchistico.accdb?rlkey=ra0a2v4b5dsxqv28tnvxzbgfb&st=w31ikqy3&dl=0

    Ciao.

  • Re: Classifica da una maschera filtrata tramite una casella combinata

    Il tempo di capire come hai organizzato le tabelle…

  • Re: Classifica da una maschera filtrata tramite una casella combinata

    Tabelle:

    Giocatori: idgiocatore; nominativo (elo e cod_giocatore non so a cosa serva)

    Tornei: id_torneo, desxrizione, inizio, fine, nrgiocatori iscritti

    Iscrizioni

    Idiscrizione, idtorneo, idgiocatore

    Calendari: idcalendario, idtorneo, datapartita idgiocatore, girone (andata/ritorno), codicepartita (codice univoco che identifica 2 record nella tabella calendari riferito alla partita tra i due giocatori nel girone di andata o ritorno), esito (null alla creazione del calendario e valore da inserire dopo la partita), punteggio (idem come esito)

    Il resto dei campi che hai creato servono a poco o nulla.

    Form:

    Giocatori con inserisci, modifica e elimina

    Tornei come sopra

    La data inizio indica l'inizio del torneo

    Fine la fine del torneo

    Nr giocatori il numero degli ammessi a partecipare

    Iscritti il numero dei giocatori che si sono iscritti.

    Calendari

    Sempre ins edit e del

    Creata la lista iscritti automatizzi le partite andata e ritorno (o anche solo andata) finché non finisce l'elenco iscritto disponibili.

    Idtorneo il torneo scelto

    Data la prima data di gioco

    Id giocatore il giocatore iscritto (vedi lista)

    Girone inserisce il girone di andata se non esiste altrimenti il ritorno o bypassi il campo nel caso di unica partita senza rivincita.

    Codice partita lo crei random o parlante identifica le due righe tra sfidante e contendente.

    Fine

    Quando la partita viene giocata riapri il record (codice partita) e ottieni i due giocatori.

    Inserisci l'esito vittoria contro perdita, pareggio ad ambedue, perdita contro vittoria.

    Puntrggio 1 per chi vince, 0,5 per chi pareggia e 0 per chi perde.

    Buon lavoro

  • Re: Classifica da una maschera filtrata tramite una casella combinata

    Io direi che si potrebbe gestire in questo modo:

    Quindi si ha la seguente sequenza:

    • si crea il Torneo
    • si inseriscono gli Iscritti
    • si inseriscono le Partite

    e qui puoi vedere un esempio.

    Naturalmente per gestire corretamente i dati sarebbe necessario sapere ulteriori informazioni del tipo :

    • la data di inizio di un Torneo può essere successiva a quella odierna
    • la date di inizio di una Partita possono essere successive a quella odierna
    • gli Iscritti debbono essere in numero Pari
    • gli Iscritti si possono ritirare a Torneo iniziato
    • ecc…

    Il torneo simulato e il XLVII torneo di scacchi telematici che basta selezionare nella casella combinata Torneo per vedere il risultato, lo stesso vale per la Classifica.

  • Re: Classifica da una maschera filtrata tramite una casella combinata

    Ciao Stifone, l'esempio che hai fatto è fantastico, non riuscirei mai a fare un progetto come questo, lavorerò su quello che mi hai mandato per studiarmelo e fare alcune lievi modifiche dato che il tuo rispecchia quello che volevo realizzare.

    Ti ringrazio per l'aiuto.

  • Re: Classifica da una maschera filtrata tramite una casella combinata

    Naturalmente un grazie và anche a sihsandrea per l'aiuto e proverò a creare un database con i suggerimenti che mi ha dato, ma il mio problema è creare la classifica in base al torneo che io seleziono, una volta creato il database come mi hai detto ti chiederò aiuto per la classifica.

    Ciao e grazie mille.

  • Re: Classifica da una maschera filtrata tramite una casella combinata

    Se gestisci l'inserimento dati partendo dalla machera di riepilogo dei Tornei non avrai mai problemi per vedere la Classifica.

  • Re: Classifica da una maschera filtrata tramite una casella combinata

    11/09/2024 - serafino ha scritto:


    Naturalmente un grazie và anche a sihsandrea per l'aiuto e proverò a creare un database con i suggerimenti che mi ha dato, ma il mio problema è creare la classifica in base al torneo che io seleziono, una volta creato il database come mi hai detto ti chiederò aiuto per la classifica.

    Ciao e grazie mille.

    Questo perché ragioni per tabelle…

    La maschera principale dovrebbe essere l'elenco dei tornei con i dati generati da query.

    Select * from tornei 

    were [tutto ciò che vuoi filtrare…]

  • Re: Classifica da una maschera filtrata tramite una casella combinata

    07/09/2024 - sihsandrea ha scritto:


    Tabelle:

    Giocatori: idgiocatore; nominativo (elo e cod_giocatore non so a cosa serva)

    Tornei: id_torneo, desxrizione, inizio, fine, nrgiocatori iscritti

    Iscrizioni

    Idiscrizione, idtorneo, idgiocatore

    Calendari: idcalendario, idtorneo, datapartita idgiocatore, girone (andata/ritorno), codicepartita (codice univoco che identifica 2 record nella tabella calendari riferito alla partita tra i due giocatori nel girone di andata o ritorno), esito (null alla creazione del calendario e valore da inserire dopo la partita), punteggio (idem come esito)

    Il resto dei campi che hai creato servono a poco o nulla.

    Form:

    Giocatori con inserisci, modifica e elimina

    Tornei come sopra

    La data inizio indica l'inizio del torneo

    Fine la fine del torneo

    Nr giocatori il numero degli ammessi a partecipare

    Iscritti il numero dei giocatori che si sono iscritti.

    Calendari

    Sempre ins edit e del

    Creata la lista iscritti automatizzi le partite andata e ritorno (o anche solo andata) finché non finisce l'elenco iscritto disponibili.

    Idtorneo il torneo scelto

    Data la prima data di gioco

    Id giocatore il giocatore iscritto (vedi lista)

    Girone inserisce il girone di andata se non esiste altrimenti il ritorno o bypassi il campo nel caso di unica partita senza rivincita.

    Codice partita lo crei random o parlante identifica le due righe tra sfidante e contendente.

    Fine

    Quando la partita viene giocata riapri il record (codice partita) e ottieni i due giocatori.

    Inserisci l'esito vittoria contro perdita, pareggio ad ambedue, perdita contro vittoria.

    Puntrggio 1 per chi vince, 0,5 per chi pareggia e 0 per chi perde.

    Buon lavoro

    Ciao sishandrea, nei tornei di scacchi non esiste andata e ritorno, il codice partita è il numero identificativo dato dal sito alla partita in questione. Cosa intendi per Codice partita lo crei random o parlante ?

    ciao.

  • Re: Classifica da una maschera filtrata tramite una casella combinata

    Scusa, errata corrige…

    Dalla tabella calendari:

    Supposto che hai

    Id. Torneo.   Giocatore.  Girone.  Partita.  Esito.  Punti
    1     1.        Pippo.   Andata.  1.   Vittoria.  2
    2.    1.        Pluto.   Andata.   1.  Perdita.   0
    3.    1.        Pluto.    Ritorno.  2.  Pareggio.  1
    4.    1.        Pippo.    Ritorno.  2.  Pareggio.  1

    Select giocatore, sum(punti) as classifica 

    From calendari 

    Where torneo=[tuaselezione]

    Group by giocatore

    Order by classifica desc

    Ovviamente da sql puoi vedere quante vittorie, quanti tornei ha vinto pippo ecc… da partite anche quante partite ha fatto… e se punteggio is null vedi quante partite deve giocare ancora.

    Il resto dipende dalla tua fantasia.

    Se metti i dati in verticale piuttosto che in orizzontale devi creare un legame tra i due record considerati un tutt'uno.

    Orizzontale:

    Id   giocatore1.  Giocatore2

    Verticale

    Id giocatore

    Id giocatore

    In un elenco di giocatori devi avere un campo che ti raggruppa per due record.

    Nell'esempio il campo si chiama “partita”.

    Random univoco lo associ ai due record dell'incontro

    Parlante è un codice costruito tipo

    Idtorneo+girone+idgiocatore1+idgiocatore2

    Identifica quell'incontro anche se ho due record.

  • Re: Classifica da una maschera filtrata tramite una casella combinata

    Non gioco a scacchi però so che le partite sono 1 contro 1… e non esiste il pareggio…

    Chiamalo ottavi di finale fino alla finale…

    Suppongo vi siano n coppie che si sfidano…

    Poi i vincitori (n/2) si sfidano a coppie e a loro volta giocano n/4 e così via fino alla finale… presuppongo!

    Girone in questo caso sarebbe ottavi, quarti, semifinali e finali…

    Identifichi sempre le coppie da codicepartita e non cambia nulla…

Devi accedere o registrarti per scrivere nel forum
28 risposte