muttley005 ha scritto:
@Alex ha scritto:
La risposta è dipende...
In linea teorica se hai sviluppato bene, da 32 a 64 nessun problema di conversione.
Le uniche cose che sicuramente hanno bisogno di essere adattate sono le chiamate API, ed eventualmente se hai usato Activex, servono quelli per 64bit.
aggiungo che se passi da una versione italiana ad una inglese (ad esempio) e nei codici SQL sparsi in giro tra form/report/... hai riferimenti tipo:
select blablabla from miaSource where campoFiltro=[Maschere]![miaMaschera]![campoX];
allora sono c@xxi
Questo era un problema anche prima se non si sviluppa bene...!
Quando si dice che le Query devono essere PARAMETRICHE e non avere riferimenti ad Oggetti del DB include questi aspetti...
Io non uso mai riferimenti ad Oggetti in quel modo, se proprio serve, scrivo una Query VBA Runtime, come per le Combo o ListBox che peraltro aiuta al Load della maschera quando si hanno molti oggetti DataBound che inchiodano il caricamento.
La soluzione diventa così:
Dim sSQL As string
sSQL="SELECT * FROM T1 WHERE Campo=Forms!NomeForm!NomeControllo"
Me!NomeCombo.RowSource=sSQL
Questa forma rende funzionale sempre tutto anche se sembra più scomoda.
Quando si sviluppa con Versioni in Lingua differente, ci sono molti aspetti da considerare... ti faccio un esempio molto banale ma grave... le Date...!
Questo è uno dei problemi più "complessi" nel senso più rompiscatole da gestire... l'accezione anglosassone... allora impari che usare Format(TuaData,"mm/dd/yyy") non è proprio una bella idea... meglio strutturare tutto con Formato ISO o convertire con cLng(...)
Altro problema il separatore dei Decimali... quando fai Query Update o Insert con valori Decimali... mettere il punto o la virgola cambia molto... ecc...
Questi aspetti, io li chiamo "PROGRAMMARE BENE"... ovvero togliere tutte quelle criticità insite nel modo di sviluppare.