MASCHERA DI SPOSTAMENTO (CLAUSOLA WHERE)

Anonimo
2019-07-27T14:56:05+00:00

Ciao a tutti,

vorrei utilizzare, per spostarmi tra le varie maschere del mio dbase (soprattutto in relazione alle varie tematiche che affronto all'interno dell'intero dbase - Finanziamenti, Progetti, Cantieri, RIchieste Erogazioni e Programmazione triennale), della maschera di spostamento.

Premetto che da un primo approccio a questo tipo di struttura di maschera, ho avuto un buon risultato, nel senso che se utilizzo degli elenchi senza che questi siano collegati ad ID specifico ma solo ad un elenco) la maschera di spostamento funziona senza particolari problematiche così come vi mostro nella figura qui sotto:

La partita diventa più difficile se invece di inserire degli elenche nelle varie schede (indipendenti l'uno dall'altro) prendo in considerazione per esempio un singolo progetto (con ID_PROG).

Ho provato a creare una maschera di spostamento per la visualizzazione di uno specifico progetto come illustrato nella figura sotto:

Partento dalla scheda PROGETTO ho creato altre schede come:

TECNICI PROGETTISTI

FINANZIAMENTO

ETC...

ma non riesco a trovare la strada giusta (Clausa where) da indicare in ogni singola scheda affinchè quella aperta restituisca i record del progetto (ID_PROG) preso in esame.

Ho letto qualcosa su questo forum, ma spesso si rimanda a degli esempi di dbase che non sono più reperibili ....

qualcuno può aiutarmi???

Grazie

Luca

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2019-07-29T06:49:58+00:00

ciao Luca,

dal mio punto di vista la NavigationWhereClause agisce esclusivamente sulla maschera aperta.

Quando passi da una maschera all'altra agendo sul pulsante di spostamento la maschera attualmente visualizzata si chiude, non funziona come il controllo a schede in cui nei vari tab le maschere restano caricate.

Avrei individuato questo  workaround.

Imposta una txtBox non associata, da creare nella form principale.

Nell'evento su corrente della form da cui desideri che il link venga creato ( Da cui ), imposti :

Private Sub Form_Current()

Me.Parent!txtSupplier = Me.ID

End Sub

in modo che la textbox non associata sia valorizzata.

Nella NavigationWhereClause del pulsante in cui desideri che il link venga impostato  ( In cui ) invochi :

[id fornitore]=forms!MSP!txtsupplier.

Vedi le immagini che seguono, l'esempio e' tratto dal DB di NorthWind per cui facilmente riproducibile, con form create sulla tabelle fornitori e ordini di acquisto ( occhio ovviamente ai riferimenti corretti da impostare per il tuo scenario, la form di spostamente si chiama MSP):

prova, da me funziona come mi aspetto. La txtLink, una volta che ti sei accertato del funzionamento e della corretta valorizzazione, puo' ovviamente essere nascosta.

HTH.

Ciao, Sandro.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2019-07-29T06:50:49+00:00

    La were è quella che ti ho suggerito da inserire nella macro (come sintassi) ma tu non l'hai scritta come ti ho detto io:

    ="[ID_PROG]=" & [ID_PROG]

    prova a scrivere il codice che ti ho suggerito in quella riga 

    Ciao Gianni,

    ho inserito la where così come scritta e suggerita da te nella riga segnata in verde nel post precedente

    Questo è il messaggio che mi restituisce:

    Ciao

    Luca

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2019-07-28T21:46:19+00:00

    La were è quella che ti ho suggerito da inserire nella macro (come sintassi) ma tu non l'hai scritta come ti ho detto io:

    ="[ID_PROG]=" & [ID_PROG]

    prova a scrivere il codice che ti ho suggerito in quella riga

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2019-07-28T09:19:40+00:00

    se utilizzi codice VBA la riga è questa:

    DoCmd.OpenForm "LaTuaMaschera", acNormal, "", "ID_PROG=" & ID_PROG , , acNormal

    se invece la Were la inserisci in una Macro :

    ="[ID_PROG]=" & [ID_PROG]

    saluti

    Ciao

    Gianni, grazie per la risposta, purtroppo non si tratta nè di codice VBA nè di mascro ma di una clausola where da inserire nella struttura della maschera di sposstamento di cui alla sottostante figura:

    la clausola where deve essere inserita nella riga evidenziata di cui alla figura che segue:

    Ho comunque provato ad inserire =[ID_PROG}

    ma, purtroppo non ho avuto il risultato desiderato.

    Ciao

    Luca

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2019-07-28T02:19:03+00:00

    se utilizzi codice VBA la riga è questa:

    DoCmd.OpenForm "LaTuaMaschera", acNormal, "", "ID_PROG=" & ID_PROG , , acNormal

    se invece la Were la inserisci in una Macro :

    ="[ID_PROG]=" & [ID_PROG]

    saluti

    La risposta è stata utile?

    0 commenti Nessun commento