+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25

Report con filtro query su campo SI/NO

  1. #1
    Valen non  in linea Novello
    Ciao a tutti,
    sono giorni che ho questo problema, ho provato in tutti i modi a risolverlo ma il risultato non cambia.

    Ho creato un report in cui visualizzo dei dati presi da una query.
    Tra i dati della query ho un campo Promozione di tipo SI/NO.


    Ho creato una maschera che mi esegua la creazione del report in base a questo campo.
    Ho inserito una casella di controllo e un tasto Stampa.
    L'utente deve scegliere se stampare tutti i dati o solo quelli in promozione, quindi in VBA ho inserito il seguente codice:

    If (Me.CasellaControllo6.Value = -1) Then
    WhereCond = " Promozione=" + CStr(Me.CasellaControllo6.Value)
    End If

    Dove CasellaControllo6 corrisponde al mio campo Promozione SI/NO.

    Se prendo questo pezzo di codice e faccio in creazione query questa select:
    SELECT * FROM qryCatalogo WHERE Promozione=-1 visualizzo correttamente le sole righe in promozione.

    per creare il report uso il codice:

    NomeFile = DirSalvataggio & "\Catalogo" & strDate & ".PDF"
    DoCmd.OpenReport "rptCatalogoArticoli", acViewPreview, , WhereCond, , ValPass
    DoCmd.OutputTo acOutputReport, "rptCatalogoArticoli", acFormatPDF, NomeFile, True, , , acExportQualityPrint
    DoCmd.Close acReport, "rptCatalogoArticoli"

    Se qualcuno mi sa dire dove sbaglio o se ci sono delle configurazioni da fare nella query o in VBA ne sarei grata..
    Ho provato anche a passare al report anzich -1, i valori true o vero ma in creazione query funziona sempre ma passando questo al report ottengo sempre tutti i dati come se non ci fosse il filtro.

    Se avete dubbi o volete chiarimenti ditemi pure
    Grazie mille a tutti

  2. #2
    monello non  in linea Scribacchino
    Nel report hai specificato una condizione non valida = wherecond ???? che significa ? Usa la stessa condizione che hai messo nella query = Promozione=-1 e poi nel report spunta anche FILTRO AL CARICAMENTO = S

    per creare il report uso il codice:

    NomeFile = DirSalvataggio & "\Catalogo" & strDate & ".PDF"
    DoCmd.OpenReport "rptCatalogoArticoli", acViewPreview, , WhereCond, , ValPass
    DoCmd.OutputTo acOutputReport, "rptCatalogoArticoli", acFormatPDF, NomeFile, True, , , acExportQualityPrint
    DoCmd.Close acReport, "rptCatalogoArticoli"
    DoCmd.OpenReport "rptCatalogoArticoli", acViewPreview, , Promozione=-1, , ValPass
    ℹ️ Leggi di pi su monello ...

  3. #3
    Valen non  in linea Novello
    WhereCond corretto, una stringa che compongo

    come da codice:
    If (Me.CasellaControllo6.Value = -1) Then
    WhereCond = " Promozione=" + CStr(Me.CasellaControllo6.Value)
    End If

    e quindi al report passo la condizione wherecond

  4. #4
    monello non  in linea Scribacchino
    Ho fatto una prova con 1 tabella , inseriti i valori in 3 campi per 10 record di cui 5 = -1 e 5 = 0 , apro il report in visualizzazione struttura e nel filtro metto nomecampodafiltrare=condizione (-1 oppure 0) e poi spunto filtro al caricamento = S e funziona tranquillamente ...
    Evita troppi filtri , la condizione o la metti nella query , o la metti nel VBA , o la metti solamente nel report cosa pi semplice ... almeno sai dove andare a modificarla ...
    ℹ️ Leggi di pi su monello ...

  5. #5
    Valen non  in linea Novello
    Ho fatto una query in cui ho solo una select dei vari campi.
    poi da vba metto i filtri ma non funziona.
    ho provato a mettere nel report sia filtro al caricamento si che no e il risultato non cambia.
    devo mettere da vba il filtro perch l'utente deve scegliere se stampare tutto o solo le cose in promozione

  6. #6
    monello non  in linea Scribacchino
    Ho trovato l'inghippo accidenti .... la condizione deve essere espressa tra apici

    "promozione=-1"
    Nel tuo caso sperando che funzioni :

    DoCmd.OpenReport "rptCatalogoArticoli", acViewPreview, , "WhereCond", , ValPass
    Anche se Wherecond secondo me un nome filtro e quindi andrebbe spostato di una virgola indietro :

    DoCmd.OpenReport "rptCatalogoArticoli", acViewPreview, "WhereCond", , , ValPass
    Che versione di access usi ? Se vuoi ti posto un esempio che ho fatto che potrebbe tornarti utile ...
    ℹ️ Leggi di pi su monello ...

  7. #7
    Valen non  in linea Novello
    OFFICE 2013.
    per la cosa strana che nella stessa wherecond metto altri filtri e quelli li fa correttamente.
    solamente il filtro del campo SI/NO non lo fa

    ora provo sia con gli apici che spostando indietro di uno l'istruzione

  8. #8
    Valen non  in linea Novello
    se metto "WhereCond" mi dice che non trova nella query il campo WhereCond.
    Se sposto l'istruzione di una virgola prima mi carica tutti i dati come se non avessi messo il filtro

  9. #9
    monello non  in linea Scribacchino
    Allego il database per usi futuri - vedi anche gruppo di opzioni - 3 scelte di stampa :

    PROMOZIONI SI - "promozioni = -1" filtro usando DoCmd.OpenReport "promozioni", acViewPreview, , "[promozioni]=-1"

    PROMOZIONI NO -"promozioni = 0" filtro usando DoCmd.OpenReport "promozioni", acViewPreview, , "[promozioni]= 0"

    TUTTE LE PROMOZIONI = filtro usando DoCmd.OpenReport "promozioni", acViewPreview (anteprima di stampa)

    Lo trovi qui : https://drive.google.com/file/d/0B7l...it?usp=sharing
    Ultima modifica di monello; 23-05-2014 14:26 
    ℹ️ Leggi di pi su monello ...

  10. #10
    Valen non  in linea Novello
    wherecond una stringa che uso in vba per inserire i vari filtri, non il nome del campo della query.

    la query select marchio,articolo,promozione from tbarticoli

    quindi in vba ho creato wherecond dove passo i valori del marchio e di promozione. solemente che per il campo marchio che intero riesco a filtrare correttamente i dati, per il campo promozione che SI/NO non li filtra in nessun modo.

    ho provato a togliere la gestione di wherecond e scrivere:
    DoCmd.OpenReport "rptCatalogoArticoli", acViewPreview, , " Promozione=-1", , ValPass

    ma continua a non funzionare

+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo

Potrebbero interessarti anche ...

  1. Casella testo report non riproduce fedelmente campo query
    Da serser nel forum Microsoft Access
    Risposte: 5
    Ultimo Post: 16-11-2015, 11:35
  2. Impostare filtro da campo query
    Da CESABAS nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 07-12-2014, 21:57
  3. Risposte: 24
    Ultimo Post: 20-03-2013, 18:51
  4. Filtro query su campo data
    Da mthefox nel forum Microsoft Access
    Risposte: 7
    Ultimo Post: 02-02-2012, 12:26
  5. [Access] criterio filtro su query per nascondere campo vuoto
    Da max-paso nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 07-05-2007, 13:56