Newsgroup: it.comp.appl.access
Titolo: Due critery data su una maschera alimentata da query

buongiorno a tutti gli Amici che sovente mi aiutano a crescere...
Il quesito di oggi è semplice (per Voi) ma non ne vengo a capo.
Ho una maschera che attinge i dati da una query e nella cui intestazione ho già diverse combo che mi filtrano egregiamente i miei dati.
Quello che non riesco a fare è questo:
Ho i campi intervento; data richiesta; data autorizzazione.
Il campo intervento è il record che puo avere presenza della data nei campi data richiesta e data autorizzazione.
Dovrei fare due combo (data presente o meno nel campo richiesta e autorizzazione) che collegate alla query mi filtrino i record.
So che non mi spiego abbastanza bene. Se nella combo faccio scegliere si/no come deciderlo nei criteri della query ?
grazie a chi mi potrà aiutare.

 
...se ad esempio per il primo caso faccio una combo di due colonne cosi strutturata:
 
da richiedere     y
già richiesto     x
 
cosa devo indicare al posto di x ey per fare in modo che la query interpreti la y come data mancante e la x come data compilata ?
 
 
grazie infinite

 Ho una maschera che attinge i dati da una query e nella cui intestazione ho già diverse combo che mi filtrano egregiamente i miei dati.
 
e' qui il punto.
come filtri i dati?
hai un pulsante attiva filtro o si attiva il filtro ogni volta che scegli da una combobox?
 
potresti crearti un pulsante per attivare il filtro e quindi crearti la stringa di filtro per le date
 
non potresti fare un esempio con 2 o 3 righe di record (anche fittizzi)?
 
Saluti

Vorrei creare due combobox o similari, una per filtrare la data di richiesta e una per la data autorizzazione, in cui scegliendo la voce presente/vuoto mi aggiorni la query.
Ad esempio se io nella seconda colonna della combo presente/vuoto impostassi un asterisco mi filtrerebbe tutti i dati a me probabilmete servirebbe un not null/null o qualcosa del genere.
 
Questo è il formato dei dati :
 
Progr	data richiesta	data autorizzazione
10367	21/11/12	21/11/12
10368	21/11/12	21/11/12
10683	18/01/2013	
10765	07/02/13	15/2/13
10766	07/02/13	15/2/13
11105	12/03/13	19/3/13
11106	06/05/13	9/10/13
11115		
11116	06/05/2013	
11117	12/03/13	3/4/13
11148	12/03/13	19/3/13
11168	22/02/13	
11173		
 
grazie infinite per l'interessamento.
 

 Ad esempio se io nella seconda colonna della combo presente/vuoto impostassi un asterisco mi filtrerebbe tutti i dati a me probabilmete servirebbe un not null/null o qualcosa del genere.
 
per vedere i dati 
 .... WHERE (((MiaTabella.[data richiesta]) Is Null));
 
PER FILTRARE TI COSTRUISCI LA STINGA SQL 
O AGISCI SOLO SUL FILTRO?
 
hai una maschera con sottomaschera?
ho fatto una prova e col filtro funziona
se vuoi ti posso inviare l'esempio
 
Private Sub cmdFiltra_Click()
  Dim sFiltro As String
 
  Select Case frameScelta
    Case 1 ' Pieno
         sFiltro = "not (MiaTabella.[data richiesta]) Is Null"
    Case 2 ' Vuoto
         sFiltro = "(MiaTabella.[data richiesta]) Is Null"
  End Select
  smaschera.Form.FilterOn = True
  smaschera.Form.Filter = sFiltro
  smaschera.Form.FilterOn = True
End Sub
 

ciao pfmarro,
la mia è una maschera continua con origine dati da una query.
Nell'intestazione una combo mi consente di scegliere 
 
tutto                             * (default)
presente (compilato)             "IS NOT NULL"
vuoto (da fare)                  "NOT NULL"
 
dopo la scelta della colonna di sinistra la colonna destra va a valorizzare la casella "filtroR" (non visibile).
La query ha nel campo questa formula:
 
Like "*" & [forms]![QRY_AUTORIZZAZIONI]![filtroR]
 
Il mio problema è che, mentre funziona perfettamente con l'asterisco, probabilmente non riesce a comprendere gli asterischi "IS NOT NULL" e "NOT NULL"
sicuramente perchè sbaglio a esprimerli.
L'origine riga della mia combo è:
"tutto";"*";"richieste inviate";"Is Null";"non ancora inviate";"Is Not Null"
 
penso che la query (forse) le legga senza apici, o magari anzi sicuramente sbaglio qualcos'altro...
 
grazie mille
 
 
 
La query filtra i dati in base alla casella "filtroR"



mi pare che hai un po' di confuzione
 
creati una query e poi dalla visualizzazione struttura passa a SQL e vedi come viene scritta la stringa
 
1 caso NULL
SELECT MiaTabella.* FROM MiaTabella
WHERE ((Not (MiaTabella.[data richiesta]) Is Null));
 
2 NOT NULL 
SELECT MiaTabella.*
FROM MiaTabella
WHERE ((Not (MiaTabella.[data richiesta]) Is Null));
 
3 RICERCA PER DATA
SELECT MiaTabella.*
FROM MiaTabella
WHERE (((MiaTabella.[data richiesta])=#11/21/2012#));
 
4 RICERCA PER RANGE DI DATA
SELECT MiaTabella.*, MiaTabella.[data richiesta]
FROM MiaTabella
WHERE (((MiaTabella.[data richiesta]) Between #1/1/2012# And #12/31/2012#));
 
 
COME TI HO SCRITTO GIà PRIMA NON MI DICI COM'E' STRUTTURATA 
 
ATTIVI SOLO IL FILTRO O CAMBI TUTTA LA QUERY ASSOCIATA ALLA MASCHERA?

Scusate se insisto ma sono in difficoltà e l'ultima risposta di pfmarro mi risulta impossibile da caricare.
Il problema è questo.
Se io filtro la mia query (tutto /campi compilati / campi vuoti) con questi parametri mi funziona.
tutto--->   like "*" or is null
già trasmesse ---->   Is Not Null
da trasmettere --->   Is Null
 
Da una combo della mia maschera continua avrei bisogno di dare questa stessa istruzione a una casella di testo cui attinge la query (che valorizza la maschera). 
 
Il mio problema, e farò già inorridire i più è che non riesco a far prendere queste istruzioni alla mia combo in quanto non posso "raddoppiare" gli apici.
Infatti l'origine righe della mia combo viene automaticamente modificata in 
 
"tutto";"like ";"già trasmesse";"Is Not Null";"da trasmettere";"Is Null"
 
Qualcuno, in un impeto di bontà, può suggerirmi come posso modificare questa istruzione?
 
grazie infinite.


prova a vedere 
http://www.sendspace.com/file/z5638d
 
ho fatto una prova
 
fammi sapere

ciao, grazie per l'aiuto.
purtroppo il file da vedere è un file .exe e per le policy aziendali non posso utilizzare file eseguibili.
Se non  riesci a incollarmi il codice, provo stasera (tardi) da casa.
Mi sembra comunque di aver capito che l'origine dati della combo non può contenere gli apici, magari se utilizzo una tabella riesco, ma non volevo crearne troppe...
 
grazie infinite per l'aiuto.
MB


se fai click sul CLICK HERE TO START DOWNLOAD...
 
e' un file .mdb
non vedo nulla di .exe
... a sto punto ... se ti interessa bene ... altrimenti...

 ... a sto punto ... se ti interessa bene ... altrimenti...
 
 
pfmarro,
ti assicuro che mi interessa e pure tanto.
 
Ti confermo che il download di quel file è un eseguibile che, dal pc dell'ufficio, per problemi di antivirus, non posso lanciare, se non come ti anticipato prima vedermelo questa sera tardi a casa.
Il file che gentilmente mi hai allegato è probabilmente in formato .mdb ma per scaricarlo dal link che mi hai indicato, devo obbligatoriamente  lanciare download.exe oppure iLividSetup-r-422-n-bi.exe.
 
Non ti voglio far perdere ulteriore tempo, scusami per il disturbo.
grazie a chiunque mi potrà aiutare.


CHE STRANO!!!
prova 
http://fs04n4.sendspace.com/dl/301907b1b481d7ecf1a066a74cce1c49/525d4b627f93c813/z5638d/it_comp_appl_access.mdb
 

 
http://fs04n4.sendspace.com/dl/301907b1b481d7ecf1a066a74cce1c49/525d4b627f93c813/z5638d/it_comp_appl_access.mdb
 
 
niente da fare, sono tutti link a eseguibili (.exe) che il pc mi inibisce.
Stesso discorso per la @ aziendale, se hai ancora la pazienza di provare, puoi provare a mandarmi il file .mdb, zippato con password, allegato a una mail al mio indirizzo: (spero che non sia proibito dal sito che gentilmente mi/ci ospita...)
 
ignazio...@gmail.com
 
 
grazie infinite ciao.
 
 stasera comunque provo anche da casa a leggere il tuo esempio

ciao pf,
ho visto la tua @, copiata su chiavetta e stamane l'ho vista nel dettaglio.
E' perfetta e mi piace molto, è proprio come la volevo io, unico neo è che non riesco, causa mie difficoltà ad applicarla al mio caso.
Mi spiego meglio, se non ho capito male, ti prego aver pazienza della mia ignoranza in materia, e in tal caso di correggermi.
Il tuo filtro lavora (molto bene) su una sottomaschera "smaschera".
 
io invece dovrei filtrare il campo [data richiesta] di una maschera continua che ha origine dati da questa query:
 
SELECT NumerazioniRoberto.CodiceProgetto, NumerazioniRoberto.Progr, NumerazioniRoberto.Anno, NumerazioniRoberto.CodiceImmobile, NumerazioniRoberto.IMPORTODA, NumerazioniRoberto.IMPORTOOrdinativo, NumerazioniRoberto.IMPORTOBuono, NumerazioniRoberto.Tecnico, NumerazioniRoberto.tipouso, NumerazioniRoberto.Denominazione, NumerazioniRoberto.[data richiesta], NumerazioniRoberto.importorichiesto, NumerazioniRoberto.[data autorizzazione ROMA], NumerazioniRoberto.importoautorizzatoROMA, NumerazioniRoberto.DESCRIZIONE, NumerazioniRoberto.Status
FROM NumerazioniRoberto LEFT JOIN ACC_CodiciProgetto ON NumerazioniRoberto.CodiceProgetto = ACC_CodiciProgetto.[CODICE PROGETTO]
GROUP BY NumerazioniRoberto.CodiceProgetto, NumerazioniRoberto.Progr, NumerazioniRoberto.Anno, NumerazioniRoberto.CodiceImmobile, NumerazioniRoberto.IMPORTODA, NumerazioniRoberto.IMPORTOOrdinativo, NumerazioniRoberto.IMPORTOBuono, NumerazioniRoberto.Tecnico, NumerazioniRoberto.tipouso, NumerazioniRoberto.Denominazione, NumerazioniRoberto.[data richiesta], NumerazioniRoberto.importorichiesto, NumerazioniRoberto.[data autorizzazione ROMA], NumerazioniRoberto.importoautorizzatoROMA, NumerazioniRoberto.DESCRIZIONE, NumerazioniRoberto.Status
HAVING (((NumerazioniRoberto.CodiceProgetto) Like "*" & [forms]![frm_QRY_AUTORIZZAZIONI]![CasellaCombinataProgetto]) AND ((NumerazioniRoberto.Progr)>6871) AND ((NumerazioniRoberto.Anno) Like "2013") AND ((NumerazioniRoberto.CodiceImmobile) Like "*" & [forms]![frm_QRY_AUTORIZZAZIONI]![CODIMMO]) AND ((NumerazioniRoberto.Tecnico) Like "*" & [forms]![frm_QRY_AUTORIZZAZIONI]![CasellaCombinataTecnico]) AND ((NumerazioniRoberto.Status) Like "Aperto" Or (NumerazioniRoberto.Status)="Programmato"))
ORDER BY NumerazioniRoberto.Progr DESC
WITH OWNERACCESS OPTION;
 
non so più dove sbattere la testa, magari voglio fare una cosa impossibile o magari lo è solo per me e per che ne capisce è una bazzecola....
grazie comunque per tutto il tempo che mi dedichi...

 HAVING ... AND not (NumerazioniRoberto.[data richiesta]) Is Null
 
FUNZIONA?
 

 FUNZIONA?
 
funziona sia se inserisco "Is Null" sia se inserisco "Is Not Null" !!!! 
 
A questo punto mi sembra di rincoglionire.
Inizialmente pensavo di dover demandare alla mia query tre comandi/possibilità:
 
-vuoti
-compilati
-tutto (vuoti +compilati)
 
Con il tuo esempio il "tutto" è lasciato all'intenzione o meno di dover filtrare l'elenco e le due scelte rimanenti vengono operate con un gruppo di opzioni.
A questo punto se ho capito, e lo spero vivamente altrimenti mi ricovero, dovrei dare da codice il comando alla query cosi come tu lo avevi dato alla sottomaschera con i comandi:
 
  smaschera.Form.FilterOn = True
  smaschera.Form.Filter = sFiltro
  smaschera.Form.FilterOn = True
 
sono fuori strada ?
ciao e ancora grazie


se usi solo una maschera continua allora 
 
   me.Form.FilterOn = True
   me.Form.Filter = sFiltro
   me.Form.FilterOn = True
 
il filtro lo attivi alla mascehra stessa e non alla sottomaschra



funziona perfettamente. grazie iinfinite.
ciao ciao