Newsgroup: it.comp.appl.access
Titolo: Come si fa

Premetto che non conosco il vba. Ho scaricato una routine che dovrebbe
effettuare un controllo su un campo codice fiscale ,pero' non riesco ad
associarla all'evento perche' mi da un errore (prevista sub ).Potete
spiegarmi esattamente dove devo copiare la routine o dove sbaglio

 ha scritto nel messaggio
news:KZ998.46752$nI1.1...@twister1.libero.it...

Sulle proprietą del controllo vai su evento, scegli routine evento su dopo
aggiornamento, fai clic sui tre pulsantini ed entri nella finestra di VBA
dove c'č gią inserito private sub tuocontrollo_afterUpdate. Nella riga
successiva incolli il codice.
Prova
Paolo

 Innanzitutto grazie per avermi risposto. Allora io avvevo fatto
esattamente come tu mi hai consigliato ma quando parte mi da un errore di
compilazione (prevista end sub) che io nell'ignoranza in materia ho
interpretato col fatto che la riga finale non deve essere end function ma
end sub. Solo che continua a darmi errore evidentemente c'e' altro che non
va. Ti posto il codice subito dopo averlo incollato senza alcun intervento
da parte mia , magari vedendolo ti e' facile capire. Grazie
Private Sub codice_AfterUpdate()
Public Function controlla_codfisc(codice As String) As Integer
Dim i As Integer
   Dim char As String
   Dim stringa As String
   Dim relativo As Integer
   Dim parziale As Integer
   Dim tot As Integer
   codice = UCase(codice)
   For i = 1 To 15
      char = Mid(codice, i, 1)
      If IsNumeric(char) Then
         relativo = CInt(char) + 1
      End If
      If char = "A" Then relativo = 1
      If char = "B" Then relativo = 2
      If char = "C" Then relativo = 3
      If char = "D" Then relativo = 4
      If char = "E" Then relativo = 5
      If char = "F" Then relativo = 6
      If char = "G" Then relativo = 7
      If char = "H" Then relativo = 8
      If char = "I" Then relativo = 9
      If char = "J" Then relativo = 10
      If char = "K" Then relativo = 11
      If char = "L" Then relativo = 12
      If char = "M" Then relativo = 13
      If char = "N" Then relativo = 14
      If char = "O" Then relativo = 15
      If char = "P" Then relativo = 16
      If char = "Q" Then relativo = 17
      If char = "R" Then relativo = 18
      If char = "S" Then relativo = 19
      If char = "T" Then relativo = 20
      If char = "U" Then relativo = 21
      If char = "V" Then relativo = 22
      If char = "W" Then relativo = 23
      If char = "X" Then relativo = 24
      If char = "Y" Then relativo = 25
      If char = "Z" Then relativo = 26
      If i = 2 Or i = 4 Or i = 6 Or i = 8 Or i = 10 Or i = 12 Or i = 14 Then
         parziale = relativo - 1
      Else
         If relativo = 1 Then parziale = 1
         If relativo = 2 Then parziale = 0
         If relativo = 3 Then parziale = 5
         If relativo = 4 Then parziale = 7
         If relativo = 5 Then parziale = 9
         If relativo = 6 Then parziale = 13
         If relativo = 7 Then parziale = 15
         If relativo = 8 Then parziale = 17
         If relativo = 9 Then parziale = 19
         If relativo = 10 Then parziale = 21
         If relativo = 11 Then parziale = 2
         If relativo = 12 Then parziale = 4
         If relativo = 13 Then parziale = 18
         If relativo = 14 Then parziale = 20
         If relativo = 15 Then parziale = 11
         If relativo = 16 Then parziale = 3
         If relativo = 17 Then parziale = 6
         If relativo = 18 Then parziale = 8
         If relativo = 19 Then parziale = 12
         If relativo = 20 Then parziale = 14
         If relativo = 21 Then parziale = 16
         If relativo = 22 Then parziale = 10
         If relativo = 23 Then parziale = 22
         If relativo = 24 Then parziale = 25
         If relativo = 25 Then parziale = 24
         If relativo = 26 Then parziale = 23
      End If
      tot = tot + parziale
   Next i
   relativo = (tot Mod 26) + 1
   stringa = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
   char = Mid(stringa, relativo, 1)
   If char = Mid(codice, 16, 1) Then
      controlla_codfisc = True
   Else
      controlla_codfisc = False
   End If
End Function


End Sub
Ciao, Alfio

 Se ho capito il tuo consiglio dovevo solo aggiungere alla fine la riga
End Sub
 Ma continua a darmi errore (prevista end sub)  e si colora di giallo la
prima riga :
Private Sub codice_AfterUpdate()
Che faccio ???   Grazie


In effetti......
Se non erro devi richiamare la funzione, mettendo il nome di quest'ultima
nella casella "dopo aggiornamento" ,
in altre parole le funzioni servono per essere richiamate ogni volta che
serve senza stare a riscriverla tutte le volte.

 ha scritto nel messaggio
news:Ygv98.49554$5M4.1...@twister2.libero.it...

Nella sezione 'Moduli' del database crei un nuovo modulo (oppure ne utilizzi
uno già esistente) e all'interno incolli la funzione
da -> Public Function controlla_codfisc(codice As String) As Integer
a  -> End Function
Invece, nella tua maschera, a fronte dell'evento 'codice_AfterUpdate'
metterai queste righe di codice:
    Private Sub codice_AfterUpdate()
        If controlla_codfisc(codice) then
                MsgBox "Codice corretto"
            Else
                MsgBox "Codice sbagliato
        End If
    End Sub
Ciao
--
Alberto

 Il campo che aggiono si chiama "codice" va bene  ????
Grazie

 > Scusami avevo sbagliato io a scrivere qualcosa , funziona benissimo ti
ringrazio tanto.
Ciao Enzo

 ha scritto nel messaggio
news:_nz98.51016$5M4.1...@twister2.libero.it...

Di niente, ciao.
--
Alberto