Creazione automatica batterie olimpiche tramite query/VBA

di il
6 risposte

Creazione automatica batterie olimpiche tramite query/VBA

Buongiorno sono una new entry del vostro forum.
ho creato un DB per la gestione delle olimpiadi per ragazzi. Avrei bisogno di un aiuto/consiglio per la creazione automatica di batterie per le diverse gare di atletica. La tabella di riferimento per la creazione delle batterie e la seguente

Cognome Nome Categoria Gara Squadra
pippo tato D 100m SqA
pippo1 tato1 D 100m SqB
pippo2 tato2 D 100m SqC
pippo3 tato3 D 100m SqC
pippo4 tato4 D 100m SqD
pippo5 tato5 D 100m SqD
........
Mi piacerebbe avere la possibilita' di creare le batterie (il numero dipende dal numero di atleti) in modo automatico, determinando a priori con una variabile NB il numero di atleti per ogni batteria, e selezionando gli atleti per squadra, ovvero selezionando un atleta sequenzialmente per ogni squadra presente.

Per esempio se decido che ogni batteria deve avere un numero massimo di atleti di 4, (NB=4) la sequenza di selezione sara' SqA, SqB, SqC, SqD per la batteria 1 e poi SqC, SqD per la batteria2 visto che Sqa SqB non sono presenti. Il risultato finale sara'

pippo tato D 100m SqA Batteria1
pippo1 tato1 D 100m SqB Batteria1
pippo2 tato2 D 100m SqC Batteria1
pippo4 tato4 D 100m SqD Batteria1
poi
pippo3 tato3 D 100m SqC Batteria2
pippo5 tato5 D 100m SqD Batteria2

Cambiando la variabile NB il numero di atleti per batteria ovviamente cambiera', ma la sequenza di selezione sara' sempre in funzione del numero di squadre.
Qualche idea in proposito ?
Grazie per la disponibilita'
Didacus

6 Risposte

  • Re: Creazione automatica batterie olimpiche tramite query/VBA

    A prescindere dalla chiarezza delle informazioni magari non immediata come logica per i non addetti... non capisco chiaramente la domanda nel concreto.
    Come sai, perché hai letto sicuramente il regolamento, non forniamo codice fatto e finito, ma aiutiamo sui concetti e su eventuali errori... per questo sono in difficoltà a capire come interpretare il tuo 3D.
    Potrebbe essere una buona partenza se mostrassi il tuo approccio logico al codice da sviluppare...
  • Re: Creazione automatica batterie olimpiche tramite query/VBA

    Ferma l'otelmanta
    "selezionando gli atleti per squadra, ovvero selezionando un atleta sequenzialmente per ogni squadra presente" mi pare piuttosto semplice da codice, meno da query SQL
  • Re: Creazione automatica batterie olimpiche tramite query/VBA

    @Alex ha scritto:


    A prescindere dalla chiarezza delle informazioni magari non immediata come logica per i non addetti...
    Mi associo a questa affermazione.
    Almeno per me (Didacus) potresti spiegare cosa è una Batteria?
    Oltre ad indicare i nomi-campo, sarebbe opportuno che indichi anche i nomi-tabelle ed eventuali relazioni.
  • Re: Creazione automatica batterie olimpiche tramite query/VBA

    Buongiorno
    intanto grazie a tutti.
    Il concetto di batteria e' relativo ovviamente alle batterie olimpiche. Ho una lista di ragazzi di una certa categoria che deve essere divisa in batterie.
    Per esempio La gara dei 100m avra' un certo numero di batterie di qualificazione e poi quarti, semifinali e finale. Per ogni batteria si prevedono un certo numero di ragazzi che dipendono dal numero di ragazzi e dalle strutture a disposizione. Se un centro sportivo ha una pista con 4 corsie le batteria saranno composte con 4 ragazzi.
    Per quanto riguarda il codice non pretendo sicuramente di avere la "pappa pronta" ma solo un consiglio su quale strada prendere.
    La tabella e' unica ed i campi sono quelli descritti. Ad oggi la selezione avviene manualmente selezionando la singola batteria per ogni atleta presente nella tabella.
    Ho creato una maschera per categoria e gara con campi batterie (flag)
    ----------------------------------
    Categoria: D
    Gara:100m
    Cognome Nome Squadra Batteria1 Batteria 2 Batteria3 ......ecc
    pippo tato SqA si no no
    pippo1 tato1 SqB si no no
    pippo2 tato2 SqC si no no
    pippo3 tato3 SqC si no no
    pippo4 tato4 SqD no si no
    pippo5 tato5 SqD no si no
    ------------------------------------------------------------------------
    Una volta selezionata la batteria manualmente il gioco e' fatto. Con dei semplici report ho la lista delle singole batterie per la gara selezionata
    Il problema e' che se il numero di ragazzi e' importante il tempo per la realizzazione puo' essere piuttosto lungo. Vorrei automatizzare e ridurre i tempi. Se ci fosse un modo per creare in modo automatico le batterie con un certo numero di ragazzi sarebbe perfetto
    Grazie
    Didacus
  • Re: Creazione automatica batterie olimpiche tramite query/VBA

    Didacus ha scritto:


    Il concetto di batteria e' relativo ovviamente alle batterie olimpiche.
    Che io non conosco affatto.

    Didacus ha scritto:


    Ho una lista di ragazzi di una certa categoria che deve essere divisa in batterie.
    A parole tue stai dicendo dei concetti che in Access vanno "stivati"/"organizzati"/"normalizzati" in più tabelle contenenti valori più semplici e omogenei. Tali tabelle "più semplici" devono poi interagire tra loro grazie alle "relazioni" e all'uso delle "chiavi primarie".

    Direi che dovresti prima risolvere il problema base della normalizzazione delle tue tabelle.
  • Re: Creazione automatica batterie olimpiche tramite query/VBA

    Partiamo dal prodotto... e dalla logica con cui lo hai strutturato.
    La tabella unica è il classico Foglio di Excel, che poi chi vuole fare un passo avanti travasa in un Database, pensando che i 2 prodotti siano in qualche modo equivalenti.
    Purtroppo non è così, e la tua tabella con logica Excel non è adatta a far lavorare un Database che si appoggia ad un sistema Relazionale per far funzionare le Queries.

    Ne consegue che l'affermazione più semplice, ma anche banale che ti posso fare, è quella di dirti che per strutturare un Database serve sapere cosa sia un Database in termini di struttura relazionale e di regole di normalizzazione.
    Se questi concetti ti sono conosciuti e chiari possiamo andare avanti, altrimenti diventa solo una spinta a studiarli per poterli applicare ristrutturando il Database, perchè senza quelli è meglio usare Excel.

    Quindi ad ora di codice non si può proprio parlare, ma l'indicazione di come approcciare con un Database ora dovrebbe farti venire il dubbio su come lavorare sulla struttura dati.
    Se hai intenzione di approfondire potresti con un po di tempo, non pensare siano gg, raggiungere un discreto prodoto, altrimenti personalmente credo che veramente Excel possa ssere migliore.
Devi accedere o registrarti per scrivere nel forum
6 risposte