Newsgroup: it.comp.appl.access
Titolo: [Lunghetto] comportamento strano del DB su alcune macchine

Un saluto a tutto il NG...
ho un db che gestisce gli ordini degli agenti localizzati su tutta la rete
nazionale, il db, dopo aver effettuato la scelta del cliente, permette di
visualizzare foto e generalità sui vari articoli di vendita.
Tra le varie generalità ci sono dati anagrafici e dati di magazzino trai
quali giacenze, impegnati ed eventuali arrivi in una sottomaschera;
in più ho posizionato su tale maschera un interruttore che mi permette di
vedere solo gli articoli che sono disponibili al momento saltando quelli che
non lo sono, in paricolare il codice di questo interruttore è:
'ordinabili è dato da giacenza-impegnato (già calcolato)
Private Sub Interruttore_Click()
If Me.Interruttore Then
Me.Filter = "[Ordinabili]>0"
Me.FilterOn = True
Else
Me.Filter = "[Ordinabili]>=0"
Me.FilterOn = True
End If
Me.Cartoni.SetFocus
End Sub
Per la visualizzazione degli arrivi e quindi il calcolo della quantità
ordinabile data x data di ogni singolo articolo ho prelevato dal sito comune
questo codice:
per quanto riguarda il codice che segue ho attivato i riferimenti DAO 3.6
come indicato sulle indicazioni del sitocomune:
Function CreaTotProgr(KeyName As String, KeyValue, NomeCampo As String)
Dim RS As DAO.Recordset
Dim Totale As Double
Totale = 0
On Error GoTo Err_CreaTotProgr
Set RS = CodeContextObject.RecordsetClone
' Cerca il record corrente.
Select Case RS.Fields(KeyName).Type
' Il tipo dati della chiave è Numerica?
    Case DB_INTEGER, DB_LONG, DB_CURRENCY, DB_SINGLE, _
    DB_DOUBLE, DB_BYTE
        RS.FindFirst "[" & KeyName & "] = " & KeyValue
' Il tipo dati della chiave è Data/ora?
    Case DB_DATE
        RS.FindFirst "[" & KeyName & "] = #" & Format(KeyValue,
"mm/dd/yyyy") & "#"
' Il tipo dati della chiave è Testo?
    Case DB_TEXT
        RS.FindFirst "[" & KeyName & "] = '" & KeyValue & "'"
    Case Else
        MsgBox "ERRORE: Tipo dati della chiave non valido!"
        Exit Function
End Select
Do Until RS.BOF
Totale = Totale + RS(NomeCampo)
RS.MovePrevious
Loop
Bye_CreaTotProgr:
         ' Restituisci il risultato.
         CreaTotProgr = Totale
         Exit Function
Err_CreaTotProgr:
         Totale = 0
         Resume Bye_CreaTotProgr
End Function
nella sottomaschera date di arrivo, calcolo quindi l'ordinabilità
dell'articolo data x data inserendo in una textbox non associata la seguente
stringa
=(Maschere!Campionario!InCasa-Maschere!Campionario!Impegnati)+CreaTotProgr("ID";[ID];"campo9")
dove campo9 è il nome del controllo non associato...
bene, sul mio pc e su molti altri funziona alla grande e sono rimasto
soddisfatto dal risultato ottenuto, ma....
su alcuni PC succede questo:
Aprendo il programma e lavorandoci così come vengono proposti gli articoli,
non c'è problema, nel momento in cui però si va ad attivare l'interruttore
che visualizza gli articoli disponibili, succede che la quantità ordinabile
sia al momento che sulle previste date di arrivo rimane fissa per tutti gli
articoli, disattivando l'interrutore tutti i campi calcolati dal modulo
riportato sopra visualizzano la voce #errore e anche altri campi con la data
di arrivo e la qtà in arrivo ed anche il campo ordinabili presenti sulla
maschera principale, questo costringe gli agenti a dover chiudere il
programma e riaprirlo...
è praticamente lo stesso errore che mi dava quando non avevo ancora attivato
i riferimenti DAO (che però in questo caso sono attivi)
Mi chiedo il motivo di questo strano comportamento su solo 2 pc su 25...
Ringrazio infinitamente chi potrà darmi risposte esaustive a questo mio
"dilemma"...
Nicola

 "dilemma"...
Ciao Nicola
Non è facile risponderti è uno di quei problemi che va risolto a mio parere
con la tecnica 'ultima spiaggia'.
Metti una accanto all'altra una macchina che va e una che non va.
Ti fai una copia del sorgente e cominci a tagliare via.
Salvi una copia e tagli, procedi così fino a ridurre il programma ad un
piccolo frammento che in un caso ti da l'errore nell'altro no.
Continui a ridurre il codice .. alla fine ci arrivi.
Con questa tecnica scoprii un grave bug di di Access legato alle combobox
cinque o sei anni fa (ci volle una giornata).
Ciao

 cinque o sei anni fa (ci volle una giornata).
Ho trovato il problema,
praticamente il db l'ho fatto con office xp (in modalità access2000) mentre 
chi lo usa ha office2000, l'ho scoperto aggiornando un portatile con office 
xp e uno con office 2003 (macchine su cui dava problemi) e ora funziona 
tutto bene...
Ora però mi piacerebbe conoscere la causa di questo...
Nicola