Newsgroup: it.comp.appl.access
Titolo: Per roberto dal portatile e altri similar-guru del ng

Leggendo suoi post inerenti la soluzione dell'inserimento di una casella
combinata in
una maschera_master per scegliere quali record far apparire in una
sottomaschera_secondaria,
in base al valore scelto nella casella stessa (soluzione alternativa
allo scorrere i record master
da pulsantini), volevo chiederle:
nell'origine riga della casella combinata, nell'istruzione SQL
SELECT DISTINCTROW    Tab_1.id, Tab_1.nomi
FROM  Tab_1;
1- a cosa serve esattamente distinctrow visto che se la colonna
associata è quella dell'id,
per forza di cose  il valore è univoco    ?
2- se invece dell'istruzione sql faccio direttamente riferimento alla
tab_1; cosa cambia    ?
3- In una soluzione indicava di mettere la casella combinata
nell'intestazione della maschera
        e di usare su "dopo aggiornamento" della combo il codice:
        Me.Filter = "Id=" & Me!NomeCasellaCombinata
        Me.FilterOn = True
         mentre in un altro esempio invece non specificava di mettere la
combo nella intestazione e
         usava sull'evento           "dopo aggiornamento" il codice
         Me![Pippo] = Me![NomeCasellaCombinata].Column(0)
         Me![NomeSottomaschera].SetFocus
         dove Pippo e' una casella di testo non associata sulla
Maschera_master
        3a- sopra Id è il nome del campo identificatore della tabella
master o il nome della casella di testo?
        3b- sotto la casella pippo deve essere collegata pero' al campo
id della tabella master (nel post
              c'era solo scritto casella non associata) ?
4- Quali sono le differenze ?
5- Perché su una soluzione si usa il Filter e su un'altra no?
6- Sono la stessa cosa?
7- Se uno deve inserire dei dati nella sottomaschera, vanno bene
entrambe o solo una, in quanto una è solo di lettura ?
8- Perché la combo una volta e' nell'intestazione e in un'altra no?
9-  la scrittura esatta riguardo i punti esclamativi e l'uso delle
parentesi quadri e':
     Me.Filter = "Id=" & Me!NomeCasellaCombinata                  (sua
indicazione)
     oppure questa:
     Me.Filter = "[Id]=" & Me![NomeCasellaCombinata]              (vista
su un altro esempio)         ?
10- Sempre riguardo l'uso delle parentesi quadre e i punti esclamativi :
      Me.Filter = "Id=" & Me!NomeCasellaCombinata
      Me.FilterOn = True
     Me![Pippo] = Me![NomeCasellaCombinata].Column(0)
     Me![NomeSottomaschera].SetFocus
      perché sotto sono state usate parentesi quadre e sul Me. di
sinistra e' stato usato il  !             ?
--------------------------------------------------------------------------------------------------------------------------------
11- In un'altra soluzione (non sua)  ho letto che si deve mettere
sull'evento "afterupdate" una routine che
       crea un oggetto recordset che punta al recordsetclone della
maschera_master. Poi utilizzare il metodo
       find su tale recordset per
       trovare il record il cui id corrisponde a quello scelto nella
combo. Mettere inoltre la proprietà bookmark della
      maschera alla proprietà bookmark del recordset. Chiudere il
recordset.
      Non ho capito come si fa, credo che le sue (se danno lo stesso
risultato) sono piu' semplici da farsi, o sbaglio?
      E' una soluzione per effetti uguale a quelle da lei già suggerite?
    Oppure serve ad altro?
12- Lei indicava che vi sono varie soluzioni:
      per fare in modo che con la mia combo una volta scelto un nome
possa aggiornare o inserire dati nella rispettiva
      sottomaschera, quale soluzione mi consiglia di usare ?
12a- Una di quelle sopra oppure una specifica per tale utilizzo ?
Ringrazio anticipatamente anche per la Vs. pazienza
Grazie

 12- Lei indicava che vi sono varie soluzioni:
lei chi?
Il resto non l'ho capito. oggi ho il cervello limitato (SOLO OGGI).
Sib

 Grazie
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------