Newsgroup: it.comp.appl.access
Titolo: Filtrare  una query  con una costante

Ho creato una costante pubblica in un Modulo
 
Public miaIntestazione As String
 
All' apertura del database chiedo all'utente di Valorizzarla tramite una maschera
 
ad esempio 
miaIntestazione = Carlo
 
In Una Maschera che registra le Fatture, vorrei che tramite una Casella combinata 
cbxRicercaIdFattura 
si possa selezionare solo le fatture emesse da miaIntestazione
 
l'origine riga della cbxRicercaIdFattura
è la seguente
 
SELECT DISTINCTROW Format([N_Fattura],'0000" / "0000') AS Fattura, qryInsFatture.IdIntestazione, qryInsFatture.IdFattura FROM qryInsFatture;
 
ho provato in visualizzazione struttura della query di cui sopra nei criteri ad inserire miaIntestazione così:
SELECT DISTINCTROW Format([N_Fattura],'0000" / "0000') AS Fattura, qryInsFatture.IdIntestazione, qryInsFatture.IdFattura
FROM qryInsFatture
WHERE (((qryInsFatture.IdIntestazione)="miaIntestazione"));
 
anche togliendo le " a miaIntestazione
 
ma non funziona
 
Grazie se qualcuno mi vuole aiutare
 
 

Non hai creato una Costante Pubblica, ma una Variabile Pubblica.
Detto questo non ti serve per quello che hai chiesto, serve una Funzione Pubblica.
 
 
Private miaIntestazione As String 
 
Pubblic Function SetIntestazione(Value As string)
  miaIntestazione = Value
End Function
 
Pubblic Function GetIntestazione() As string
  GetIntestazione= miaIntestazione 
End Function
 
Ora nella tua Query chiami come parametro la Funzione GetIntestazione()
 
Io inserirei il DoubleQuote direttamente...!
 
@Alex

Grazie  Alex  ( hai ragione è una Variabile pubblica )
 
Perchè possa servire ad altri riepilogo come ho risolto.
 
in un modulo
 
Public miaIntestazione As String
 
Public Function SetIntestazione(Value As String)
miaIntestazione = Value
End Function
 
Public Function GetIntestazione() As String
GetIntestazione = miaIntestazione
End Function
 
nell'Origine dati della ComboBox
SELECT DISTINCTROW Format([N_Fattura],'0000" / "0000') AS Fattura, qryInsFatture.IdIntestazione, qryInsFatture.IdFattura
FROM qryInsFatture
WHERE (((qryInsFatture.IdIntestazione)=GetIntestazione()));
 
 
Grazie

Sicuro serva dichiarare Public quella variabile..? 

 Sicuro serva dichiarare Public quella variabile..?
 
In effetti quando mi hai risposto mi sono domandato il perchè ? 
L'ho dichiarata  in un modulo ,  può cambiare valore in diverse maschere , in base alla scelta  di vari utenti. 
Per essere più chiaro : 
il programma gestisce  uno studio medico , ove operano più medici.
All'apertura viene richiesto quale medico vuole operare e valorizza la variabile "miaIntestazione" ,  durante l'utilizzo nella stessa sessione , può intervenire un secondo medico , a quel punto tramite apposita maschera viene valorizzato "miaIntestazione" che servirà per emettere ricette .... fatture 
 
Da anni seguo questo newsgroup e apprezzo il tuo rigore ,   sbaglio a dichiararla Public ?
 
Se hai pazienza , potresti dare una breve spiegazione , quando Public e quando Private
Grazie

Non aggiungo nulla alla tua non gestione utenti... arriverà col tempo... forse...
 
In merito a public e private secondo me un libro tecnico di base sul vba è sempre indispensabile non è possibile scrivere codice non avendo uno strumento di supporto... è come tradurre senza vocabolario.
 
Leggi questo:
http://www.thespreadsheetguru.com/blog/2014/3/5/explaining-private-vs-public-declarations
 
 
@Alex