Selezionare il record da subform tabella invece che da menu a cascata

di Anonimizzato23882 il
8 risposte
Di norma quando creo una form, utilizzo i menu dropdown per selezionare il nome del cliente per caricare i dati nelle caselle del form stesso, vorrei sapere se è possibile popolare le caselle cliccando invece su un record di una tabella in cui siano visibili tutti i record e non solo il primo. Ci sono riuscito, ma utilizzando vba e mi sta facendo complicare molto il lavoro per tutto quello che riguarda salvataggio e caricamento dei dati. Grazie

8 Risposte

  • Non riesco a cogliere il senso della tua necessità. Se la lista Clienti è lunghissima, anche volerli vedere tutti insieme, dovrai fare su e giù con la barra scorrimento verticale. Ti conviene?
    Piuttosto hai pensato a mettere un numero più grande nella proprietà "Righe in elenco" della casella combinata?
  • Purtroppo non sono io a decidere e dopo aver spiegato che queste soluzioni sono complesse e inutili, mi si sta chiedendo di programmare cose ancora più complesse.
  • Non sono sicuro di aver capito al 100%. Io al posto tuo farei così.
    1. Metterei nella proprietà "Righe in elenco" un valore molto alto...non so 50...anche 100 se vuoi…
    2. Prova a scrivere questo codice a ogni casella combinata, all'evento "Su INVIO"
    Private Sub IDTitolo_Enter()
    Me![NomeCasellaCombinata].Dropdown
    End Sub
    Questo significa che ogni volta che l'utente punta il cursore sulla casella combinata, essa scende da sola mostrando moltissimi record...certo, considera che il monitor ha dei limiti di visualizzazione con i quali dovrai fare comunque i conti...
  • Forse non mi sono spiegato bene, ora allego un'immagine.
    Praticamente quello che devo fare è fare in modo che cliccando dove si trova la freccia nera, vengano caricati i dati nelle caselle del form sovrastanti.
    Allegati:
    23882_b56e99d18d0572e03b92971be6f09aa4.jpg
    23882_b56e99d18d0572e03b92971be6f09aa4.jpg
  • Continuo a non capire il senso di quello che vuoi fare. Non ti basta passare la maschera da "visualizzazione maschera singola" in "visualizzazione foglio dati" e viceversa? Sia chiaro che non ti serve la SOTTOMASCHERA.
  • Purtroppo non dipende da me. Vogliono poter cliccare su un record della tabella e modificare i record nelle caselle e non nella tabella.
  • Che si voglia interagire con i dati attraverso una MASCHERA e non usando la tabella, stiamo parlando di un concetto base di Access: OK. Per quello che devi fare la sottomaschera non ti serve affatto. Tento di brancolare nel tuo buio...perché una progettazione simile non l'ho mai vista...e azzardo le seguenti possibili risposte.
    1. Ribadisco che potresti palleggiare la visualizzazione della maschera da "singola" a "foglio dati" e viceversa.
    2. Se il punto 1. non ti soddisfa perché vuoi vedere le 2 visualizzazioni contemporaneamente, costruisci 2 maschere che puntano entrambe sulla stessa tabella e le chiami MSingola (che ha la visualizzazione a maschera singola) e MFoglioDati (che ha la visualizzazione a foglio dati). Tu le apri entrambe: ho già testato che se modifichi i dati in una, passando al record successivo, vedrai i dati cambiati nell'altra. Poi che ne so, potresti pensare all'evento "Su doppio clic" del campo ID nella MFoglioDati che deve fare in modo che MSingola mostri il record corrispondente. Quindi modifichi i valori in MSingola.
    In sostanza stai usando MFoglioDati come se fosse la tabella, almeno così appare all'occhio dell'utente, ma in realtà si tratta di una maschera con la quale puoi interagire sfruttando anche i suoi eventi.
  • Ok, grazie. Proverò questo secondo metodo e vedo cosa ne tiro fuori.
Devi accedere o registrarti per scrivere nel forum
8 risposte