Newsgroup: it.comp.appl.access
Titolo: Bug nel Calcolo Codice Fiscale 6.74 di sitocomune

Siccome voglio aggiungere la funzionalità del calcolo codice fiscale nel mio 
programma, ho fatto una ricerca sul sitocomune ed ho trovato un intressante 
programmino, 6.74 del Sitocomune.
Nella versione scaricabile dal sito eseguita in modalità Access 97 tutto 
funziona bene.
Convertendo il database nella versione Access 2000 ho riscontrato un bug, 
compilando tutti i campi ed inserendo infine la città di nascita ho visto 
che se inserisco un comune con l'apostrofo, ad esempio "Sant'Elpidio a 
Mare", quando scrivo l'apostrofo compare una msgbox che mi dice che il 
comune non è in elenco. In realtà il comune è in elenco ed eseguendolo in 
modalità Access 97 tutto funziona correttamente.
Qualcuno di voi riuscirebbe a migliorare il codice per risolvere questo 
problema? Io ci ho provato, per adesso non sono arrivato a nessuna 
soluzione.
Grazie in anticipo per le risposte.
Ciao!

 ha scritto nel messaggio 
news:GQmeh.17659$P04....@tornado.fastwebnet.it...

Ciao,
può darsi che sia causato dall'apice che viene letto come interruzione di 
stringa sql: prova un pò a raddoppiare gli apici ed usando la funzione 
Replace nomecitta=Replace (nomecitta,"'","''")...vedi se funge
Gaspare

 Replace nomecitta=Replace (nomecitta,"'","''")...vedi se funge
Spero di aver fatto le modifiche giuste però per adesso non sono riuscito a 
farlo funzionare.
Domani mattina quando sarò più lucido e riposato potrò anche combinare 
qualcosa di buono.
Altre idee?
Ciao! 

 ha scritto nel messaggio 
news:GQmeh.17659$P04....@tornado.fastwebnet.it...

E' vero. Ma ho notato che se, invece di digitare il nome, incolli l'intera 
stringa SANT'ELPIDIO A MARE non dà alcun errore. Per quel che visto io, il 
problema forse è dato dal carattere "'" sull'evento txtComune_Change e 
dall'istruzione
     COMUNI1.Seek ">=", T 'dove T = "SANT'"
sembra che il record non sia trovato, tanto che la
      If UCase(T) = UCase(Mid(COMUNI1!COMU_DESCR, 1, Len(T))) Then
genera l'errore.
eSQueL

 eSQueL
Da quello che sono riuscito a capire il problema è il metodo Seek ma non so 
con cosa sostituirlo senza stravolgere troppo il codice, qualcuno di voi 
riuscirebbe a darmi una mano? Magari possiamo poi postare la modifica sul 
sitocomune.
Grazie

gnews ha scritto:

Se usi il metodo SEEK su LinkedTable il problema è quello...!
Nel Demo del SC le tabelle sono in Locale quindi tutto OK, in questo
caso il BUG non è
del Demo in questione, ma tuo che come utente passivo può accadere.
Verifica se quanto ti ho detto corrisponde alla tua situazione, nel
caso si può usare SEEK solo
aprendo una connessione ODBC diretta con il BE.
@Alex

Se usi il metodo SEEK su LinkedTable il problema è quello...!
Nel Demo del SC le tabelle sono in Locale quindi tutto OK, in questo
caso il BUG non è
del Demo in questione, ma tuo che come utente passivo può accadere.
Verifica se quanto ti ho detto corrisponde alla tua situazione, nel
caso si può usare SEEK solo
aprendo una connessione ODBC diretta con il BE.
@Alex
La tabella non è linkata, ma residente (almeno nel mio caso). Ma, in caso di 
tabella linkata, il problema non dovrebbe presentarsi sempre e non solo 
quando nella stringa c'è un apice? Magari mi sbaglio io :|
Ciao
eSQueL 

 Grazie
Per farla breve, sposta tutto il codice da On Change a After Update.
Bruno 

 ha scritto nel messaggio 
news:457c33ab$0$16155$4faf...@reader3.news.tin.it...

Non funge. 

 wrote in message 
news:457c350e$0$19090$4faf...@reader4.news.tin.it...

Da me funziona..
Credo sia una questione di grammatica...
Bruno 


Se con grammatica intendi sintassi, non ho fatto altro che tagliare il corpo
della sub e incollarlo nell'evento After_Update (forse non basta, non so).
Else ... no flame, no stress  :)
Ciao.
eSQueL

 eSQueL
Si sbagli, il metodo Seek non funziona, ripeto NON FUNZIONA con le
Linked Table, per
questo facevo riferimento all'uso di ODBC per aprire un RS diretto sul
DB(Remoto) in quel
modo funziona.
@Alex

 Bruno
Si, anche da me ma non è proprio il funzionamento originale. Nel senso che 
prima ad ogni lettera inserita veniva aggiornata la città con quelle pescate 
dal database, adesso l'aggiornamento avviene solo quando esco dalla casella 
di testo, non è proprio la stessa cosa. Il problema rimane sempre 
quell'apice che non viene visto.
Ciao

 ha scritto nel messaggio 
news:GQmeh.17659$P04....@tornado.fastwebnet.it...

 Ho messo in linea il db in formato AXP (2002) con le opportune correzioni.
Può essere liberamente scaricato da qui:
http://www.frantoiogestione.com/CodFiscXP.zip
Prego Roberto, se lo ritiene opportuno, di volerlo inserire nel sitocomune.
In pratica ho tolto un po' di robetta e sostituito la casella di testo dei 
comuni con una combobox che dava problemi nella versione corvertita (2000 o 
2002).
Eliminato anche il Seek.
Ora funziona alla grande.
Ciao, Carlo 

 ha scritto nel messaggio 
news:B2Zeh.19571$P04....@tornado.fastwebnet.it...

Leggiti la mia risposta che ho messo in linea il db aggiornato.
Ciao, Carlo 

 Ciao, Carlo
In effetti, funziona egregiamente.
Tnx :)
Ciao.
eSQueL 

 Ciao, Carlo
Si, l'ho provato e funziona proprio alla grande! Lo sto già integrando nel 
mio programma.
Grazie!! 

 wrote in message 
news:jwXeh.75403$Fk1.2...@twister2.libero.it...

No, la grammatica si riferiva a "funge"...
Per il resto con la semplice operazione di trasferire il
codice da On Change ad After Update da me (A2003)
funziona perfettamente, naturalmente non più in modalità
On Change bensì in quella After Update; e questo è più
che ovvio.
Bruno 

 Si, anche da me ma non è proprio il funzionamento originale.
[...]
Bella scoperta!
Pensavi che il funzionamento del codice After Update fosse
uguale a quello On Change?
Avevo ben premesso "per farla breve", ché per farla invece
come si deve ha provveduto mi pare egregiamente l'Autore.
Bruno

 Bruno
Scusami se quello che ho scritto poteva sembrare una polemica, non era 
affatto mia intenzione.
Si, devo dire che la soluzione di Carlo è davvero buona, ha anche snellito e 
semplificato il codice.
Ciao! 

 Ora funziona alla grande.
Già che ci sei spazza via anche i residui del Recordset COMUNI:
nella versione attuale non servono più.
Ciao
Bruno 

 Bruno
Perdonerai, ma "funge" è il presente (terza persona singolare) dell'infinito 
fungere che, in senso di operare, fare, adempiere, esercitare è usato 
tranqullamente in luogo di funzionare :)
Ciao.
eSQueL 

 Bruno
Ovviamente è stato fatto insieme a tanta altra robetta valida per la 
versione 97 e nemmeno!
Piuttosto consiglierei di aggiornare i comuni anche se quelli presenti sono 
validi al 98%.
Ciao, Carlo 

 esercitare č usato tranqullamente in luogo di funzionare :)
Ne avevo perfettamente inteso il senso.
Gli č che son troppo attento ai canoni estetici e strutturali della nostra
lingua per passare sopra senza commenti alle piů assurde
contaminazioni.
Bruno


E' interessante codesto tuo modo d'intendere un normale (e piuttosto 
elegante) uso della lingua come "assurda contaminazione". Mi parla di una 
mente forse un tantino rigida, forse tendenzialmente conservatrice rispetto 
ad uno strumento, il linguaggio, in costante evoluzione.
Ma dimmi, il tuo profondo estetismo non fa nessuna fatica, non sperimenta 
alcuna sottile sofferenza nello scrivere ciò che segue?
"Per il resto con la semplice operazione di trasferire il
codice da On Change ad After Update da me (A2003)
funziona perfettamente, naturalmente non più in modalità
On Change bensì in quella After Update; e questo è più
che ovvio."
Infine, è sin troppo evidente che, in fatto di linguaggio contaminato, hai 
ben poco d'apprendere. Insomma, perché "On Change" e "After Update" in luogo 
di "su modifica" e "dopo aggiornamento"? :))
Per non parlare di cadute di stile quali "... ;e questo è più che ovvio", 
nonché dell'intera architettura del periodo (un tantino approssimata), così 
come della punteggiatura diremmo ... casuale.
Mi torna alla mente la parabola della pagliuzza e della trave (posto che, in 
ogni caso, non ritengo affatto un errore né, tantomeno, un abominio, l'uso 
di "funge" in luogo di "funziona").
Ciao.
eSQueL

 l'uso di "funge" in luogo di "funziona").
La pagliuzza e la trave te le potevi anche risparmiare... roba da Google!
La frase:
<< (posto che, in ogni caso, "non ritengo affatto un errore né, tantomeno,
un abominio, l'uso di "funge" in luogo di "funziona"). >>
la vado a pubblicare in it.cultura.linguistica.italiano.
Sono curioso di sentire il parere di quegli Illustri.
Bruno 

Pubblica quel che ti pare. Siamo in un paese libero, di talché ciascuno è 
libero d'incaponirsi come e quanto crede su qualunque stupidaggine lo faccia 
sentir meglio.
Addio :)
eSQueL