Lasciando perdere la vista sono ripartito dalla base.
Ho creato una nuova tabella in SQLServer con campi: testo (nvarchar(MAX)), intero (int) ,Decimale (decimal(10,2)), Giorno (datetime), Punto (bit)
Ho popolato 2 record con valori opportuni ed analizzato il risultato del recordset rs ottenuto
SQL = "select * from dbo_tTestLinkedTable where idTest=1"
Set rs = CurrentDb.OpenRecordset(SQL, dbOpenDynaset, dbSeeChanges)
x = rs.Fields("[Decimale]").Value
Tutti i campi restituiscono il rispettivo valore eccetto il campo [Decimale] - in sqlserver Decimal(10,2).
x dovrebbe essere 9,99 invece e' vuoto
Mi viene da pensare che possa essere un problema di driver.
Lavorando in VPN riscontro questo problema, lavorando in rete locale no.
@Alex
Aprendo la vista (o da ora la tabella di test ) linkata, direttamente in Access (doppio click e si apre la "grid") vedo tutti i valori di tutti i campi. Qui non ho mai riscontrato problemi.
Creando una maschera, ed impostando a mano il RecordSource, tutti i controlli vengono popolati correttamente.
Ovvero con questo codice tutto funziona:
SQL = "select * from dbo_tTestLinkedTable where idTest=1"
Me.RecordSource = SQL
Se in Variabili Locali analizzo Me.Recordset tutti i Fields hanno il valore corretto eccetto il campo [Decimale] che e' vuoto.
Il problema del crash avviene se ho due campi decimal di seguito.
Ho una 50ina di tabelle e non so quante viste. Il problema non era solo sulla view iniziale ma ora vedo che e' ovunque io abbia un campo decimal.
Solo che, nel caso una maschera abbia il recordsource impostato il problema non si pone.
Il problema si verifica solo quando apro un recordset e cerco il valore di un Field decimal.
Fino a ieri mattina questo problema non esisteva, poi ad un certo punto e' successo qualcosa ma non so cosa.