Newsgroup: it.comp.appl.access
Titolo: Aiuto Access 2003 va in CRASH con query alla terza volta

Ciao,
ho un problema che non riesco proprio a risolvere.
Sto realizzando una applicazione in Access (che conosco poco) che
dovrebbe consentirmi di gestire una anagrafica utenti. Ad ogni utente
sono associati dei dati che potranno essere stampati tramite template
WORD.
Allego il file e i template word ( 
http://www.netbuilder.it/esempio.zip
)
C'è una maschera principale con 2 sottomaschere: Diagnosi e Diagnosi2
La maschera principale contiene le informazioni sull'utente, mentre
DIAGNOSI può contenere record di informazioni inerenti l'utente.
Cliccando sull'occhiale accanto ad ognuno di questi record si apre la
sottomaschera DIAGNOSI2 che mi servirebbe solo per dare la possibilità
all'utilizzatore di inserire un bel testo descrittivo.
Bene: alla terza volta che clicco sugli occhiali (primo record, poi
secondo, poi terzo occhiale, ...) Access 2003 va in crash
Ogni volta che clicco sull'occhiale viene eseguito questo codice:
...
   If IsNull(Forms!Contacts!Diagnosi!ID) Then
      ' If the combo is Null, use the whole table as the RecordSource.
      Me.RecordSource = ""
      Me.Requery
   Else
    strSQL = "SELECT DISTINCTROW qDiagnosi.* FROM qDiagnosi " & _
    "WHERE ID = " & strDir2 & ";"
      ' La terza volta va in CRASH
      ' Third time Access Crashes
    Me.RecordSource = strSQL
   End If
...
Sono ormai 5/ 6 giorni che sto cercando una soluzione, ma proprio non
so più che fare.
Grazie

 ha scritto nel messaggio 
news:5974af32-1b53-4fd1...@f19g2000yqo.googlegroups.com...
Ciao,
ho un problema che non riesco proprio a risolvere.
Sto realizzando una applicazione in Access (che conosco poco) che
dovrebbe consentirmi di gestire una anagrafica utenti. Ad ogni utente
sono associati dei dati che potranno essere stampati tramite template
WORD.
Allego il file e i template word ( 
http://www.netbuilder.it/esempio.zip
)
C'� una maschera principale con 2 sottomaschere: Diagnosi e Diagnosi2
La maschera principale contiene le informazioni sull'utente, mentre
DIAGNOSI pu� contenere record di informazioni inerenti l'utente.
Cliccando sull'occhiale accanto ad ognuno di questi record si apre la
sottomaschera DIAGNOSI2 che mi servirebbe solo per dare la possibilit�
all'utilizzatore di inserire un bel testo descrittivo.
Bene: alla terza volta che clicco sugli occhiali (primo record, poi
secondo, poi terzo occhiale, ...) Access 2003 va in crash
Ogni volta che clicco sull'occhiale viene eseguito questo codice:
...
   If IsNull(Forms!Contacts!Diagnosi!ID) Then
      ' If the combo is Null, use the whole table as the RecordSource.
      Me.RecordSource = ""
      Me.Requery
   Else
    strSQL = "SELECT DISTINCTROW qDiagnosi.* FROM qDiagnosi " & _
    "WHERE ID = " & strDir2 & ";"
      ' La terza volta va in CRASH
      ' Third time Access Crashes
    Me.RecordSource = strSQL
   End If
...
Sono ormai 5/ 6 giorni che sto cercando una soluzione, ma proprio non
so pi� che fare.
Grazie
Io ho scaricato � provato il tuo programma e non ho avuto nessun crash.
L'unica cosa ho modificato la stringa SQL nel codice della Form Diagnosi2 in 
questo modo:
Da: strSQL = "select * from Contacts INNER JOIN Diagnosi ON 
Contacts.ContactID=Diagnosi.ContactID WHERE Contacts.ContactID = " & 
Me!ContactID & " AND Diagnosi.ID = " & Forms!Contacts!Diagnosi!ID
A:strSQL = "select * from Contacts INNER JOIN Diagnosi ON 
Contacts.ContactID=Diagnosi.ContactID WHERE Contacts.ContactID = " & 
Forms![Contacts]![ContactID] & " AND Diagnosi.ID = " & 
Forms!Contacts!Diagnosi!ID
Ciao 

 ha scritto nel messaggio 
news:dBNTl.29578$Ux.2...@tornado.fastwebnet.it...

Tu parti al mattino con COLAZIONE in sql
Bravo
Ciao
Graziano 

 secondo, poi terzo occhiale, ...) Access 2003 va in crash
Secondo me si tratta di un bug di Access.
Talvolta, capita che le maschere, o i controlli, in esse inseriti,
nascano DIFETTOSI.
Quando ciò si verifica, gli oggetti si comportano in modo anomalo. Più
di una volta mi è capitato di creare maschere che mandavano in crash
l'applicazione quando utilizzavo il metodo REFRESH o REQUERY.
In questi casi, si può risolvere ricreando la maschera (o i controlli
difettosi), e ricopiandovi il codice (che, di per sé, non dovrebbe
dare problemi).