Newsgroup: it.comp.appl.access
Titolo: PI Intracomunitarie

Buongiorno a tutti
come sapete tutte le Aziende Comunitarie devono avere un numero di Partita
IVA.
Per quanto riguarda il controllo dell'esattezza di quella Italiana non ci
sono problemi.
E' possibile secondo voi fare in modo di verificare anche le altre PI
comunitarie a secondo della Nazione ?
Grazie
Luigi

 ha scritto nel messaggio
news:6WJva.112486$DT4.3...@twister1.libero.it...

Certamente un controllo formale è possibile, esistono dei parametri fissi
per ogni nazione, li puoi trovare nel retro del modello cartaceo intra o sul
sito delle dogane.
se ti fidi questa e' la funzione che ho fatto io, non mi assumo
responsabilità di sorta :))
' rende 0 se esatta o 1 se errata.
Function Ver_piva_Cee(AcPiv) As Integer
Dim Isonaz As String
Dim restoNaz As String
Dim primo As String
Dim Ultimo As String
Dim terzultimo As String
Isonaz = Left$(AcPiv, 2)
restoNaz = Mid$(AcPiv, 3, 20)
primo = Left$(restoNaz, 1)
Ultimo = Mid$(restoNaz, 8, 1)
terzultimo = Mid$(restoNaz, 10, 1)
Ver_piva_Cee = 0
If Isonaz = "BE" Then GoTo Nazione_Buona
If Isonaz = "DE" Then GoTo Nazione_Buona
If Isonaz = "DK" Then GoTo Nazione_Buona
If Isonaz = "EL" Then GoTo Nazione_Buona
If Isonaz = "ES" Then GoTo Nazione_Buona
If Isonaz = "FR" Then GoTo Nazione_Buona
If Isonaz = "GB" Then GoTo Nazione_Buona
If Isonaz = "IE" Then GoTo Nazione_Buona
If Isonaz = "LU" Then GoTo Nazione_Buona
If Isonaz = "NL" Then GoTo Nazione_Buona
If Isonaz = "PT" Then GoTo Nazione_Buona
If Isonaz = "AT" Then GoTo Nazione_Buona
If Isonaz = "SE" Then GoTo Nazione_Buona
If Isonaz = "FI" Then GoTo Nazione_Buona
MsgBox "La nazione " & Isonaz & " Non è Valida"
GoTo Piva_buga
Nazione_Buona:
If Isonaz = "AT" And Len(restoNaz) = 9 And primo = "U" Then GoTo piva_buona
If Isonaz = "BE" And Len(restoNaz) = 9 Then GoTo piva_buona
If Isonaz = "DE" And Len(restoNaz) = 9 Then GoTo piva_buona
If Isonaz = "DK" And Len(restoNaz) = 8 Then GoTo piva_buona
If Isonaz = "EL" And Len(restoNaz) = 9 Then GoTo piva_buona
If Isonaz = "ES" And Len(restoNaz) = 9 And primo >= "A" And primo <= "Z"
Then GoTo piva_buona
If Isonaz = "ES" And Len(restoNaz) = 9 And Ultimo >= "A" And Ultimo <= "Z"
Then GoTo piva_buona
If Isonaz = "FI" And Len(restoNaz) = 8 Then GoTo piva_buona
If Isonaz = "FR" And Len(restoNaz) = 11 Then GoTo piva_buona
If Isonaz = "GB" And Len(restoNaz) = 9 Then GoTo piva_buona
If Isonaz = "GB" And Len(restoNaz) = 12 Then GoTo piva_buona
If Isonaz = "GB" And Len(restoNaz) = 5 Then GoTo piva_buona
If Isonaz = "IE" And Len(restoNaz) = 8 Then GoTo piva_buona
If Isonaz = "LU" And Len(restoNaz) = 8 Then GoTo piva_buona
If Isonaz = "NL" And Len(restoNaz) = 12 And terzultimo = "B" Then GoTo
piva_buona
If Isonaz = "PT" And Len(restoNaz) = 9 Then GoTo piva_buona
If Isonaz = "SE" And Len(restoNaz) = 12 Then GoTo piva_buona
Piva_buga:
Ver_piva_Cee = 1
MsgBox "Il Codice Iso Cee Non è Valido !! "
Exit Function
piva_buona:
End Function

Tranquillo Ale
nessuna responsabilità :-)))))........però concedimi: "sei un mito".......
è da 1.000 anni che cerco questo controllo
Grazzzzie :-)
Ciao
Luigi

 ha scritto nel messaggio
news:44Mva.112818$DT4.3...@twister1.libero.it...

Prego, felice che ti abbia risolto il problema.
Ale.