Newsgroup: it.comp.appl.access
Titolo: Problema con funzione per la verifica del cofice fiscale: "Funzione non definita"

Ciao a tutti ho questa problematica (forse banale) ma non riesco a
veniren fuori.
Ho recuperato sul nostro NG da un vecchio post una funzione per la
verifica del codice fiscale:
Private Function CalcolaK(pValue) As String
 Dim CalcolaK As String
Dim idx As Long, i As Long, X As Long, Somma As Long, sCF As String
 Dim Dispari As Variant
 sCF = IIf(Len(pValue) > 15, UCase(Left(pValue, 15)), pValue)
Dispari = Array(1, 0, 5, 7, 9, 13, 15, 17, 19, 21, 2, 4, 18, 20, 11,
3, 6, 8, 12, 14, 16, 10, 22, 25, 24, 23)
 For i = 1 To Len(sCF)
'qui aggiungi la Ucase altrimenti se gli passi caratteri minuscoli
ricevi un
errore
      X = Asc(Mid(UCase(pValue), i, 1))
     idx = IIf(X < 65, X - 48, X - 65)
     Somma = Somma + IIf(0 = i Mod 2, idx, Dispari(idx))
 Next
K = Chr(Somma Mod 26 + 65)
 CalcolaK = IIf(K = UCase(Right(pValue, 1)), True, False)
 End Function
 End Sub
Questa funzione l'ho inserita in un modulo che ho chiamato CF.
dopo (sempre da istruzioni del post) sono andato nel campo "Codice
fiscale" e nell'evento "prima di aggiornare" ho inserito queso codice:
Private Sub Codice_fiscale_BeforeUpdate(Cancel As Integer)
Select Case Nz(Len([Codice fiscale]))
                Case 16
                If Not CalcolaK([Codice fiscale]) Then
                MsgBox "Codice Fiscale Errato"
                Cancel = True
           Case 0
           Case Else
           MsgBox "Lunghezza del Codice Fiscale o P. Iva errata",
vbCritical, "Attenzione": Cancel = True
End Select
End Sub
quando vado ad inserire un qualsiasi codice fiscale mi da l'errore
"Funzione non definita".
non riesco a capire perche' la funzione e' in un modulo salvato
correttamente con un altro nome.
Ho inserito anche i rif DAO 3,6 (ma non c'entra niente) ma il ris non
cambia.
Puo' forse centrare il fatto che il camp abia degli spazi???(nel
codice pero' e' inserito nelle parentesi quadre).
Grazie in anticipo
Dino

 Dino
La funzione deve essere pubblica per potersi richiamare da qualunque parte
dell'applicazione.
Pertanto:
Public Function CalcolaK(pValue) As String
.
.
.
End Function
Inoltre End Sub dopo End Function non � corretto. Fai un Debug e vedi cosa
accade.
--
sv
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 - Mostra testo citato -
Ciao SV,finalmente sono riuscito ad effettuare qualche prova.In
effetti mettendo plublic mi legge la funzion e.Ho anche tolto "end
sub" che non avevo notato.Adesso ho un'altra problematica;quando
inserisco il codice fiscale mi da "errore di compilazione"...
"Dichiarazione doppia nella area di validita' corrente".Selezionando
la prima riga di codice del modulo.
Se ha iun attimo prova gentilmente la funzione (che ti ho rip sopra)
Grazie in anticipo
Dino

 Dino
La funzione CalcolaK ti restituisce una stringa pertanto 
Dim CalcolaK As String è errato, lo devi togliere.
--
sv
-- 
questo articolo e` stato inviato via web dal servizio gratuito 


 - Mostra testo citato -
Il modulo sembra funzionare.Mi da errore l'istruzione Select nel
campo.Devo sistemenrla.
Volevo sapere se secondo te questo codice funziona bene per verificare
i codici fiscali (o e' meglio utilizzare i vari sw in rete).
Ci aggiornaiamo a dopo le prove.
Grazie ancora
Dino

 Dino
Vedi qui:
http://lnx.accessgroup.it/community/howto/utility-codice-fiscale.html
--
sv
-- 
questo articolo e` stato inviato via web dal servizio gratuito 


 questo articolo e` stato inviato via web dal servizio gratuitohttp://
www.newsland.it/newssegnala
 gli abusi ad 
ab...@newsland.it
Come sempre seo preciso ed esauriente (troppi complimenti sotto Natale
ci vogliono).E' proprio quello che cercavo.anche se come dice l'autore
non c'e' mai la sicurezza estrema della correttezza.Tu come ha
irisolto il problema????ho trovato in rete dei softwere molto semplici
che continuano ad aggiornarsi via Web.
Concludo ringraziandoti ancora per la tua disponibilita' e ti auguro
Buone feste
Dino

 Dino
--
sv
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
