[RISOLTO] Funzione dlookup con campo variabile

di il
2 risposte

[RISOLTO] Funzione dlookup con campo variabile

Salve a tutti,

Sto provando a realizzare una maschera (o meglio una sottmaschera di spostamento) in cui venga visualizzato il menù del giorno.

Tale menù è ciclico (ogni 4 settimane si ripete)

Ho creato una tabella "Tb_Menù" con i seguenti campi:
"Settimana" (valori da 1 a 4)
"Pasto" (primo pranzo, secondo cena, ecc... abbreviati con Pr_pr, Pr_ce,...)
"lunedì"
"martedì"
.
.
.
"domenica"

La ciclicità del menù penso di averla risolta con la funzione DatePart ma sto avendo problemi con la dlookup

Per semplicità ho dichiarato 2 variabili
settgiorno e settnum che contengono il giorno della settimana e il numero (da 1 a 4) della settimana alimentare corrente

Vorrei visualizzare il valore del campo restituito dalla funzione weekday nella tabella menù al record i cui campi Settimana e Pasto abbiano valori ben specifici.

Questo è il codice:


Private Sub PulsanteSpostamento9_Click()

Dim settnum As Integer
Dim settgiorno As String

Dim primo As String
Dim secondo As String


settnum = DatePart("ww", Date, vbMonday, 1) Mod 4 + 1
'variabile che assume un valore che va da 1 a 4, calcolato come resto della divisione tra il numero della_
'settimana dell'anno e 4 aumentato di un'unità

settgiorno = WeekdayName(Weekday(Date, vbMonday), , vbMonday)
'variabile che mi restituisce il giorno della settimana (lunedì, martedì....)


primo = DLookup(settgiorno, "Tb_menù", "Pasto = Pr_pr" And "Settimana = settnum")
'alla variabile primo associa il valore del campo il cui nome è contenuto nella variabile settgiorno, ed il record di riferimento
'è quello che contiene contemporaneamente al campo Pasto il valore Pr_pr ed al campo Settimana il valore della variabile settnum
'nella tabella Tb_menù

secondo = DLookup(settgiorno, "Tb_menù", "Pasto = Se_pr" And "Settimana = settnum")
'alla variabile primo associa il valore del campo il cui nome è contenuto nella variabile settgiorno, ed il record di riferimento
'è quello che contiene contemporaneamente al campo Pasto il valore Se_pr ed al campo Settimana il valore della variabile settnum
'nella tabella Tb_menù

Forms("Home").Controls("Sottomascheraspostamento").Form.Controls("Testo10") = settgiorno & " della " & settnum & "a settimana"
'nella casella di testo Testo10 della sottomascheraspostamento,
'mostra il testo (Lunedì della 4a settimana, giovedì della 2a settimana, ecc.)

Forms("Home").Controls("Sottomascheraspostamento").Form.Controls("testoprimo") = primo
'nella casella di testo denominata testoprimo mostra il contenuto della variabile primo

Forms("Home").Controls("Sottomascheraspostamento").Form.Controls("testosecondo") = secondo
'nella casella di testo denominata testosecondo mostra il contenuto della variabile secondo

End Sub



Sto avendo problemi con la Dlookup.

Dove Sbaglio?

Grazie

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte