Newsgroup: it.comp.appl.access
Titolo: errore senza spiegazione, come al solito

in un form ho un pulsante che prepara una query un po' arzigogolata, la 
esegue, ne prepara un'altra la esegue, fine
 
da qualche settimana a questa parte, se clicco come ho sempre fatto ottengo 
un bel:
 
Microsoft Access has stopped working
A problem caused the program to stop working correctly.
Windows will close the program and notify you if a solution is available.
 
se la eseguo passo passo funziona
 
se metto un breakpoint in un punto qualsiasi si ferma, premo f5, continua e 
fa tutto senza problemi
 
questo succede sia se lo metto sulla PRIMA istruzione, strSql = strSql & 
"SELECT " & vbCrLf
 
Private Sub BuildQuery()
Dim strSql As String
Dim i, j As Integer
strSql = strSql & "SELECT " & vbCrLf
 
sia se lo metto sull'ultima, DoCmd.SetWarnings True
 
DoCmd.SetWarnings False
DoCmd.RunSQL strSql ' run step 2: Status
DoCmd.SetWarnings True
End Sub
 
nota la cosa buffa: da lě in poi, se non esco da access, l'affare funziona 
senza problemi, anche senza i breakpoint
 
 
idee?
 
-- 
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
........... [ al lavoro ] ...........

Puoi provare, invece di usare il RunSql, ad usare Execute membro
 dell'oggetto Database...?
Peraltro in questo modo non devi disabilitare i warnings.
 
CurrentDb.execute strSQL, dbFailOnerror
 
In teoria non dovrebbe essere questo il problema, ma i 2 metodi
 hanno un sostanziale differenza e magari ha una logica fare la
 verifica.
 
Execute viene eseguito da Jet mentre RUNSQL da Access.
 
È solo un'idea...
 
-- 
@Alex
 
 
----Android NewsGroup Reader----
https://piaohong.s3-us-west-2.amazonaws.com/usenet/index.html
 

 
 
Sta roba mi ricorda qualcosa.
Nel mio caso se non ricordo male era a seguito di una chiamata al web 
(semplifico)
Sempre se non ricordo male risolsi con una sleep ben assestata
 
-- 
ac (y-1=x)

 idee?
 
Tanti anni fa ho avuto un problema con questi sintomi su una macchina 
virtuale di un cliente che prima aveva funzionato per anni. Sembrava 
come un problema di memoria.
 
Se non ricordo male, la soluzione era di dividere la query in 2 o 3 e 
così ridurre i dati e la complessità per ogni query.
 
In quelli tempi non sapevo come aumentare la memoria virtuale. Questa 
sarebbe una cosa che proverei oggi: vedi 
https://www.youtube.com/watch?v=JTTsyNzY_i8
 
 
-- 
Ciao
Karl
*********
http://AccessDevCon.com
 
Access FAQ: 
https://www.donkarl.com/it
 

 
 
ho provato cosě:
 
 
' test Alex
Dim dbsSpareParts  As DAO.Database
Set dbsSpareParts = CurrentDb
[...]
dbsSpareParts.Execute strSql, dbFailOnError
 
errore: Too few parameters, expected 1
 
Se chiedo aiuto ad Access, mi dice di mettere le parentesi, ma se faccio 
cosě:
 
dbsSpareParts.Execute (strSql, dbFailOnError)
 
Non mi accetta l'istruzione:
 
Compile error:
Expected: =
 
Ultima modifica:
 
dbsSpareParts.Execute (strSql)
 
VBA la accetta, ma all'esecuzione fa come all'inizio:
 
errore: Too few parameters, expected 1
 
ora provo l'altro suggerimento: come si imposta uno SLEEP? il comando non č 
riconosciuto, devo fare un loop da 1 a un fantastiliardo?



A cosa serve lo SLEEP nel tuo caso...?
Mi pare tu non esegua un CICLO, ma solo 2 Operazioni di ActionQuery... oltretutto se ti da quell'errore nemmeno arriva nemmeno ad eseguira la 2° Action, motivo per cui lo SLEEP non serve a nulla.
 
@Alex

Non vedendo il predicato SQL, in ogni caso resta complicato capire bene.
Altro suggerimento, è creare una Query compilata e, invece di lanciare il predicato SQL, lanciare la Query.
 
@Alex

 ...
Di solito è 
https://www.donkarl.com/it?FAQ6.4
 .



Se fosse questo, ed ovviamente il predicato SQL ci avrebbe aiutato, io farei risolvere esplicitamente il valore esternamente alla costruzione del predicato, invece di usare EVAL.
 
@Alex 

 Se fosse questo, ed ovviamente il predicato SQL ci avrebbe aiutato, io farei risolvere esplicitamente il valore esternamente alla costruzione del predicato, invece di usare EVAL.
 
Certo. Pubblicamente, sostengo che stavo solo indicando la causa del 
problema menzionata nelle FAQ!
 
Detto tra noi, rivelerò che ho dato un'occhiata sommaria al NG oltre al 
lavoro e ho confuso le discussioni. L'altro riguardava una query 
salvata, dove Eval sarebbe una soluzione semplice. ;-)
