13/07/2023 - MGf ha scritto:
Buon pomeriggio, avrei la necessità di creare un registro con cui gestire degli affidamenti diretti, lavori piuttosto che forniture.
In buona sostanza ho la necessità di verificare alcuni parametri, relativi a Operatore Economico, Cat. Merceologica e SOA, limitando pero il confronto solo all’ultimo ed il penultimo record inserito. Se la verifica è coerente con la norma procedo ad affidare.
Attualmente il registro creato utilizza una query ed una serie di altre funzioni, quali dcount e dlookup, per verificare le diverse condizioni.
Ho rilevato leggendo nel forum, che in più occasioni, viene suggerito l’utilizzo del VBA, piuttosto che funzioni quali dlookup, dcount,ecc.ecc.., in particolare poi, dovendo porre a confronto sempre gli ultimi 2 record immessi, risulta evidente il vantaggio nell’ utilizzare il VBA nell’ambito del recordset.
Non avendo alcuna esperienza con VBA, ho provato comunque a scrivere alcune righe di codice, ma senza successo.
Dim Rst As DAO.Recordset
Set Rst = CurrentDb.OpenRecordset("TblAffidi", dbOpenTable)
Rst.MoveLast
Rst.MovePrevious
If Rst.Fields("idfornitore") <> Rst.Fields("idfornitore") Then
Me.CHKAffido = True
Else
End If
Rst.Close
Set Rst = Nothing
Chiedo se vi siano degli esempi da poter utilizzare e/o articoli che mi permettano di eseguire tale verifica utilizzando il VBA .
Grazie in anticipo a quanti potranno darmi una mano.
Intanto scrivi che hai la necessità di confrontare dei parametri negli ultimi due record…
Prima di inserire il record nuovo (che diventerebbe l'ultimo record) ti direi di spostarti all'ultimo record e assegnare a delle variabili i valori da confrontare, poi fai lo stesso al record che precede ovviamente con l'uso di altre variabili.
Fai le tue valutazioni ed inserisci il nuovo record.
Altro non si può dire… ah si, assicurati che le variabili siano compatibili con i rispettivi campi.