Γενικά δεν περιμένω να έχει η κάθε έκθεση περισσότερο από 20-30 γραμμές, οπότε δεν νομίζω ότι θα υπάρχει ορατή καθυστέρηση... Παρόλα αυτά η απόδοση ήταν κάτι που δεν είχα σκεφτεί και πάντα προσπαθώ να το έχω υπ' όψην (αν και τις περισσότερες φορές με απασχολεί αφού αργεί ή κολλάει κάτι
![Smile [:)]](/cs/emoticons/emotion-1.gif)
)...
Σε VBA δεν θα είχα πρόβλημα να το κάνω, άλλωστε αν τελικά δεν δούλευε αλλιώς αυτή θα ήταν η λύση, θα άνοιγα το recordset, θα διάβαζα τις τιμές, θα έκανα τις πράξεις και θα το αποθήκευα σε ένα άλλο γραμμή-γραμμή...
Τώρα όσον αφορά την format, έχεις απόλυτο δίκιο, επιστρέφει variant (string) σύμφωνα με το MSDN. Εγώ από κεκτιμένη ταχύτητα πίστευτα ότι επιτστρέφει currency μεταβλητή όταν το δηλώνεις σαν currency και αν και διάβασα το msdn δεν το συνειδητοποίησα. Άρα κάπου κάτι δεν γίνεται σωστά με την variant και σε κάποιο σημείο μετατρέπεται σε string... Το περίεργο ήταν ότι ούτε η iif μόνη της δουλεύει.
Πιθανώς αν έβαζα μια Ccur στο αποτέλεσμα της iff να γινόταν η πρόσθεση σωστά, θα το δοκιμάσω μόνο και μόνο από περιέργεια αύριο και θα σας πω...