+ Rispondi al Thread
Pagina 3 di 3 primaprima 123
Visualizzazione dei risultati da 21 a 26 su 26

Discussione: report access query e parametri

  1. #21
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,512
    codice:
    WHERE [CampoData] Is Null
    Attenzione che NULL<>NullString quindi potresti non soddisfare la richiesta a seconda di come tu nella realtà hai impostato il Campo.
    Nel Caso dovrai scrivere una sintassi che prenda sia NULL che NULLSTRING
    codice:
    WHERE Len([CampoData]+'')=0
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  2. #22
    stevecor65 non è in linea Novello
    Post
    17
    Alex per NULLSTRING intendi una stringa "" cioè senza contenuto ma che alla verifica is null da FALSE?
    Il campo data è settato come tipo DATA/ORA nel DB di verifica e anche nella tabella DB2 su as400 il tipo campo è data/ora.
    Piuttosto il report che mi controlla l assenza di bolle in import per confronto con la tabella di DB2 mi da che la chiamata ODBC a volte fallisce.
    Forse che non è corretto usare LEFT JOIN su DB2?
    Cerco di spiegarmi meglio: la query che usa i campi della tabella locale di import e LEFT JOIN su tabella DB2 funziona e ho fatto una prova da il risultato sperato mentre all'opposto non funziona ed ha due comportamenti: o non visualizza nulla oppure da errore ODBC

  3. #23
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,512
    Quote Originariamente inviato da stevecor65 Visualizza il messaggio
    Alex per NULLSTRING intendi una stringa "" cioè senza contenuto ma che alla verifica is null da FALSE?
    Esatto.
    Quote Originariamente inviato da stevecor65 Visualizza il messaggio
    Il campo data è settato come tipo DATA/ORA nel DB di verifica e anche nella tabella DB2 su as400 il tipo campo è data/ora.
    Piuttosto il report che mi controlla l assenza di bolle in import per confronto con la tabella di DB2 mi da che la chiamata ODBC a volte fallisce.
    Forse che non è corretto usare LEFT JOIN su DB2?
    Dovresti avere uno strumento di Managment di DB2 al fin di analizzare i piani di esecuzione delle Query, anche se, da quanto capisco non effettui Q_PT quindi di mezzo abbiamo il Driver.
    Accertati che i Parametri vengano interpretati correttamente.
    Quote Originariamente inviato da stevecor65 Visualizza il messaggio
    Cerco di spiegarmi meglio: la query che usa i campi della tabella locale di import e LEFT JOIN su tabella DB2 funziona e ho fatto una prova da il risultato sperato mentre all'opposto non funziona ed ha due comportamenti: o non visualizza nulla oppure da errore ODBC
    Non so cosa aggiungere.
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  4. #24
    stevecor65 non è in linea Novello
    Post
    17
    aggiungo però che se la query che dovrebbe popolare il report la setto con i parametri dal query builder e setto i campi da controllare IsNull funziona...
    Ho pensato a un problema di ODBC perchè una query funziona e l'altra no ma i costrutti sono identici.
    Prevengo ciò che potreste pensare: il query builder interroga ODBC come il codice....
    Mah non sò...
    Cmq essendo risolto al 90% penso che si possa mettere come risolto (?)
    Stefano
    PS
    Alex per un ignorante cosè Q_PT?

  5. #25
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,512
    Quando qualcuno parla di Parametri... mi si accende sempre l'allarme rosso... perchè 9 utenti su 10 quando ne parlano in realtà non li usano pensando che basti definire un CRITERIO in una Query per poter dire che usano una Query Parametrica, NULLA DI PIU' FALSO...!
    I Parameters sono una cosa diversa, spero quindi tu faccia riferimento ai Parameters.
    Quì trovi la differenziazione tra la definizione di una WHERE CONDITION, ed i PARAMETER:
    https://sourcedaddy.com/ms-access/pa...claration.html

    Una Query con i Parameters inizia così
    codice:
    PARAMETERS [NomeParameter1] Parameter1Type, [NomeParameter2] Parameter2Type
    SELECT * FROM T1
    WHERE Campo1= [NomeParameter1] AND [Campo2]= [NomeParameter2]
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  6. #26
    stevecor65 non è in linea Novello
    Post
    17
    Dunque cerco di spiegare cosa ho fatto e vediamo se ho usato correttamente i parametri....
    Nel query builder di access nella vista struttura e progettazione delle query puoi definire dei parametri. Definiti i tre parametri che mi servivano per il filtro ed il tipo di dati ( due date e una stringa ) nel generatore di query pensavo che questi con il comando set parameter si potessero settare nella Sub che richiama il report.
    Ma poi con i tuoi consigli ho risolto settando la Clausola Where...

+ Rispondi al Thread
Pagina 3 di 3 primaprima 123

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi