Buonasera,
sono certo che per voi sia una banalità ma non riesco a capire come procedere:
Devo assegnare dei valori corrispondenti a diversi velori di uno stesso campo a dei controlli.
La prima cosa che viene in mente è quella di usare la funzione dlookup ma per molti record non è la cosa migliore. Per eseguire singola assegnazione posso usare il seguente codice (con N_ID variabile tipo public):
Dim rst As DAO.Recordset
Set DBCorrente = CurrentDb
Set rst = DBCorrente.OpenRecordset("Valore_Analisi", dbOpenDynaset)
rst.FindFirst ("ID_Assegnazione=" & N_ID)
Do While Not rst.NoMatch
Form_Ins_Comb.cbo_asp.Value = rst.Fields("Valore_Analisi")
rst.FindNext ("Valore_Analisi")
Loop
rst.Close
DBCorrente.Close
I valori da assegnare ad tutti i controlli devo soddisfare queste condizioni: tutti dovranno avere la stessa ID_Assegnazione, ma valore campi ID_Analisi_Campione diversi come si potrebbe fare utilizzando la funzione dlookup:
Dim Form As Form
Set Form = Form_Ins_Comb
With Form
.cbo_asp = DLookup("[Valore_Analisi]", "Valore_Analisi", "ID_Assegnazione =" & N_ID & " and ID_Analisi_Campione=46")
.cbo_colASTM = DLookup("[Valore_Analisi]", "Valore_Analisi", "ID_Assegnazione =" & N_ID & " and ID_Analisi_Campione=21")
.txt_visc40 = DLookup("[Valore_Analisi]", "Valore_Analisi", "ID_Assegnazione =" & N_ID & " and ID_Analisi_Campione=2")
.txt_ppoint = DLookup("[Valore_Analisi]", "Valore_Analisi", "ID_Assegnazione =" & N_ID & " and ID_Analisi_Campione=8")
.txt_cpoint = DLookup("[Valore_Analisi]", "Valore_Analisi", "ID_Assegnazione =" & N_ID & " and ID_Analisi_Campione=9")
.txt_fpoint = DLookup("[Valore_Analisi]", "Valore_Analisi", "ID_Assegnazione =" & N_ID & " and ID_Analisi_Campione=5")
.cbo_reazH2O = DLookup("[Valore_Analisi]", "Valore_Analisi", "ID_Assegnazione =" & N_ID & " and ID_Analisi_Campione=36")
.txt_ridvolH2O = DLookup("[Valore_Analisi]", "Valore_Analisi", "ID_Assegnazione =" & N_ID & " and ID_Analisi_Campione=35")
.txt_demul25 = DLookup("[Valore_Analisi]", "Valore_Analisi", "ID_Assegnazione =" & N_ID & " and ID_Analisi_Campione=32")
End With
Come potrei modificare il primo codice?
Grazie.