Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    MS Access - Limitare i valori di una casella combinata

    Ciao a tutti. Ho un problemino da porvi che riguarda Access.

    Il mio database gestisce un torneo di calcio.
    Ecco le mie tabelle:
    - squadre (tutte le squadre partecipanti)
    - giocatori (tutti i giocatori con l'apposito campo squadra)
    - partite (le partite con il campo sq1 e sq2 che vanno ad individuare le squadre)
    - formazioneSq1 (collega alla partita i giocatori in campo della sq1)
    - formazioneSq2 (uguale x la sq2)
    - marcatori (collega ogni giocatore alla partita)
    - ammoniti (come sopra)
    - espulsi (come sopra)

    Per ogni partita devo sapere la formazione in campo e così uso le tabelle formazioneSq1 e formazioneSq2 per creare il collegamento tra il gocatore e la partita.
    Ho creato una maschera per la compilazione delle formazioni con due sottomaschere x la formaz della sq1 e della sq2 (vedi sotto)

    Problema: la casella combinata che uso per la scelta del giocatore va a cercare nella tabella giocatori, ma la tabella contiene molti record. Come faccio a fare in modo che vada a ricercare i giocatori solo tra quelli che hanno il campo squadra = a quello della maschera principale???

    Il problema sembra risolto da sè: aggiungere alla query che regola la casella combinata una condizione WHERE in modo che il campo squadra sia uguale a quello della maschera, ma invece di farmi vedere solo alcuni giocatori, non mi fa vedere niente!!!! Ecco la Query incriminata:

    SELECT giocatori.ID_giocatore, giocatori.cognome, giocatori.nome, giocatori.squadra FROM giocatori WHERE (((giocatori.squadra)=Forms!M_partite!sq1)) ORDER BY giocatori.cognome;

    Lo so mi sono dilungato tanto, ma ci sbatto la testa da un po'.....

    Grazie per aver letto tutto fino a qui!!!

  2. #2
    Utente di HTML.it L'avatar di fabio309
    Registrato dal
    Oct 2002
    Messaggi
    1,918
    non so spiegarti il perchè ma per esperienza so che quando "generi" un criterio di selezione, tipo il tuo WHERE (((giocatori.squadra)=Forms!M_partite!sq1)), se scegli "maschere caricate" non funziona mentre se scegli "tutte le maschere" allora funziona

  3. #3
    Ce l'ho fatta!!!
    Il problema è presto detto:

    Le squadre che giocavano la prima partita non avevano giocatori!

    Ho provato per comodità ad inserire un giocatore fittizio nella squadra che giocava la prima partita, di modo da vedere subito i risultati delle mie modifiche (prima dovevo avanzare qualche record per trovare una squadra in cui avessi inserito giocatori)... Con mia grande sorpresaha funzionato!!! il problema però è che se andavo avanti con le partite (nella maschera principale) nella sottomaschera la casella combiinata dava sempre il solito giocatore della prima squadra!!! La query infatti era costruita bene!! solo che avanzando di record in record non veniva aggiornata e mostrava sempre i giocatori della squadra che giocava la prima partita!!
    è bastato aggiungere un refresh delle sottomaschere all'evento "Current" e il gioco è fatto!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.