Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 7 su 7

Maschera di spostamento e passaggio automatico di dati alla query

  1. #1
    temistocle non  in linea Novello
    Post
    4
    Like Inviati  
    0
    Like Ricevuti  
    0
    Problema: da una maschera posso, tramite un pulsante, lanciare la stampa di un report (basato su di una semplice query tipo nome, cognome, indirizzo, ecc.).

    La maschera passa alla query l'ID del record da stampare.

    Se lancio il report dalla maschera in questione non ho alcun problema.

    Se la maschera in questione a sua volta inserita in una Maschera di Spostamento, il dato non viene passato e la query mi chiede di inserirlo manualmente.

    Dove sbaglio? Mi son letto tutte le discussioni presenti nel forum ma... ahim... non ho trovato soluzione.

    Grazie anticipatamente.

  2. #2
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Post
    16,800
    Like Inviati  
    0
    Like Ricevuti  
    23
    Il termine "Maschera di Spostamento" non un termine usuale... e faccio fatica a capire cosa intendi.
    Ho ipotizzato ti riferissi al fatto che la Maschera usata come Sottomaschera...

    In tal caso quello che accade ovvio, se guardi la Query il riferimento al campo ID definito come [Forms!NomeForm!ID].
    Nel momento in cui la Maschera Sottomaschera, anche se la Maschera la stessa la Form non presente nella Collection Forms, ma nella Collection Controls, quindi non sar possibile risolvere il riferimento.

    Ora io non so come tu abbia fatto, ma se il Report un Report Semlplice, senza RAGGRUPPAMENTI puoi usare il prarametro WHERE da passare al metodo OpenReport.
    Alternativa crearsi una Funzione alla quale passare il Valore del CRITERIO e far riferimento a quello nella Query.
    Private Function myID as Long
    Public Function SetID(valore as Long)
        myID=Valore
    End Function
    Public Function GetID() As Long
        GetID=myID
    End Function
    
    ora nella query sar
    SELECT * FROM T1 WHERE ID=GetID()
    
    Ora nel tuo report devi valorizzare con SetID(Me!ID) il valore...
    ℹ️ Leggi di pi su @Alex ...

  3. #3
    temistocle non  in linea Novello
    Post
    4
    Like Inviati  
    0
    Like Ricevuti  
    0
    Buongiorno Alex e grazie infinite della risposta e del tempo dedicato al mio problema.
    Prover subito a fare come dici e ti riferir.
    Desidero intanto chiarire il concetto di "Maschera di Spostamento". Probabilmente mi sono espresso male, sono sicuro che le conosci meglio di me.
    Trattasi delle maschere che Access 2010 permette di creare in luogo del Pannello Comandi.
    Maschere che consentono di muoversi attraverso le altre maschere, gli altri report ecc.
    Qui c' qualcosa: Access 2010: Le maschere di spostamento | oneIToffice
    Ti allego uno screenshot di quello cui mi riferisco io.
    Grazie ancora. Provo e ti dico.




    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Il termine "Maschera di Spostamento" non un termine usuale... e faccio fatica a capire cosa intendi.
    Ho ipotizzato ti riferissi al fatto che la Maschera usata come Sottomaschera...

    In tal caso quello che accade ovvio, se guardi la Query il riferimento al campo ID definito come [Forms!NomeForm!ID].
    Nel momento in cui la Maschera Sottomaschera, anche se la Maschera la stessa la Form non presente nella Collection Forms, ma nella Collection Controls, quindi non sar possibile risolvere il riferimento.

    Ora io non so come tu abbia fatto, ma se il Report un Report Semlplice, senza RAGGRUPPAMENTI puoi usare il prarametro WHERE da passare al metodo OpenReport.
    Alternativa crearsi una Funzione alla quale passare il Valore del CRITERIO e far riferimento a quello nella Query.
    Private Function myID as Long
    Public Function SetID(valore as Long)
        myID=Valore
    End Function
    Public Function GetID() As Long
        GetID=myID
    End Function
    
    ora nella query sar
    SELECT * FROM T1 WHERE ID=GetID()
    
    Ora nel tuo report devi valorizzare con SetID(Me!ID) il valore...

  4. #4
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Post
    16,800
    Like Inviati  
    0
    Like Ricevuti  
    23
    Purtroppo non ho A2010 e queste peculiarit non le conosco, ma andando a naso, si tratta solo di una Maschera NON ASSOCIATA che fa da pannello usando una sorta di struttura a schede con SubForm.

    L'effetto sar in tutti i modi quello che ti dicevo.
    ℹ️ Leggi di pi su @Alex ...

  5. #5
    temistocle non  in linea Novello
    Post
    4
    Like Inviati  
    0
    Like Ricevuti  
    0
    Provo e ti dico. Grazie infinite. Ti tengo info.

  6. #6
    temistocle non  in linea Novello
    Post
    4
    Like Inviati  
    0
    Like Ricevuti  
    0
    Alex, perdonami l'ignoranza. Per passare il parametro Where al metodo OpenReport, devo darli il nome del controllo, giusto?

  7. #7
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Post
    16,800
    Like Inviati  
    0
    Like Ricevuti  
    23
    Nel mio suggerimento hai tutti gli estremi per seguire quello che ho detto, ma vista la tua domanda ora non capisco cosa tu abbia fatto... pertanto prima di rispondere
    esponi in modo chiaro la sequenza, il codice usato e come lo hai usato.
    ℹ️ Leggi di pi su @Alex ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 2
    Ultimo Post: 18-07-2016, 19:19
  2. Passaggio dati da maschera a VB-SQL
    Da ferrai nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 06-06-2012, 23:03
  3. Risposte: 7
    Ultimo Post: 01-09-2011, 10:28
  4. Passaggio query al corpo di una maschera
    Da LucaFurlan nel forum Microsoft Word
    Risposte: 6
    Ultimo Post: 01-07-2008, 11:04
  5. passaggio parametri da maschera a query associata
    Da betto nel forum Microsoft Word
    Risposte: 5
    Ultimo Post: 17-03-2006, 12:44