Newsgroup: it.comp.software.database
Titolo: Generare un cod. alfanumerico

Buon giorno    .....   anche se e' lunedi'
forse qualcuno puo' aiutarmi a risolvere un problema che credo non sia
molto complicato, lo dico peche' a giudicare dai post che leggo qui
sul gruppo, mi rendo conto che io sono propio alle prime armi con
access.
PROBLEMA
ho tre campi di access, 
nel primo inserisco il nome di un articolo (es. BRUGOLA)
nal secondo campo la data del giorno corrente (es. 9/2/2001)
nel terzo campo dovro' ottenere un codice alfanumerico composto dalla
data del secondo campo (9/2/2001), e tre lettere del campo dedicato
all'articolo. Forse la spiegazione e' un po' farlocca..... 
Meglio un esempio:
BRUGOLA   +    9/2/2001  =   BRG9/2/01
CHIODI        +  12/3/2001  =   CHI12/2/01
in pratica vorrei che dopo l'inserimento dell'articolo e della data,
premendo TAB, nella casella successiva comparisse automaticamente un
codice che visualizzi articolo+data.
....Is possible??
CIAO
    Roberto

 ha scritto nel messaggio
news:3a750c19...@news.tin.it...

Certo !
Una precisazione prenderemo le prime tre lettere di ogni articolo.
La  tabella che associeremo alla maschera sarà:
tblArticolo
composta da :
(Chiave Primaria) codeArticolo (string)
articolo (string)
data (Date)
Supponendo che tu stia utilizzando una maschera che chiamerò:
mscEsCodeAlfanum
essa è composta da  tre caselle di testo
la prima, la data associata alla data della tabella tblArticolo, che avrà
formato data e come valore predefinito :
Date()
ossia la data del sistema;
il nome di questa casella di testo è :
datatxt
la seconda invece conterrà l'articolo, associata all'articolo della tabella
tblArticolo, formato testo il nome è:
articolotxt
gestirai l'evento articolotxt_AfterUpdate(), trattato in seguito nel post
la terza casella di testo sarà appunto il codice articolo, associata al
codeArticolo della tabella tblArticolo, essa avrà formato testo e la
proprietà Bloccato su Si, così nessuno potrà modificare quel dato, il nome
è:
codearticolotxt.
Dopo questa premessa vediamo la parte più interessante è l'evento
articolotxt_AfterUpdate():
****************************************************************************
*******************************************
Private Sub articolotxt_AfterUpdate()
Dim valData As Variant
Dim valArticolo As String
 valArticolo = articolotxt.Value
 If Len(valArticolo) < 3 Then
    MsgBox "L'articolo deve essere composto da minimo tre lettere"
    datatxt.SetFocus
    articolotxt.SetFocus
 Else
    valArticolo = UCase(Left(valArticolo, 3))
    valData = datatxt.Value
    valData = dataStringa(valData)
    codearticolotxt.Value = valArticolo + valData
 End If
End Sub
____________________________________________________________________________
____________________________________________________________
Function dataStringa(data As Variant) As String
Dim GiornoS As String, MeseS As String, AnnoS As String
 GiornoS = Left$(data, 2):
 If Left(GiornoS, 1) = "0" Then
   GiornoS = Right$(GiornoS, 1)
 End If
 MeseS = Mid$(data, 4, 2)
 If Left(MeseS, 1) = "0" Then
   MeseS = Right$(MeseS, 1)
 End If
 AnnoS = Right$(data, 2)
 dataStringa = GiornoS + "/" + MeseS + "/" + AnnoS
End Function
Private Sub articolotxt_AfterUpdate()
Dim valData As Variant
Dim valArticolo As String
 valArticolo = articolotxt.Value
 If Len(valArticolo) < 3 Then
    MsgBox "L'articolo deve essere composto da minimo tre lettere"
    datatxt.SetFocus
    articolotxt.SetFocus
 Else
    valArticolo = UCase(Left(valArticolo, 3))
    valData = datatxt.Value
    valData = dataStringa(valData)
    codearticolotxt.Value = valArticolo + valData
 End If
End Sub
Function dataStringa(data As Variant) As String
Dim GiornoS As String, MeseS As String, AnnoS As String
 GiornoS = Left$(data, 2):
 If Left(GiornoS, 1) = "0" Then
   GiornoS = Right$(GiornoS, 1)
 End If
 MeseS = Mid$(data, 4, 2)
 If Left(MeseS, 1) = "0" Then
   MeseS = Right$(MeseS, 1)
 End If
 AnnoS = Right$(data, 2)
 dataStringa = GiornoS + "/" + MeseS + "/" + AnnoS
End Function
****************************************************************************
*******************************************
Mi sono attenuto a risolvere il tuo problema.
Nel caso in cui vorresti gestire nel codice articolo le tre consonanti
dell'articolo posso aiutarti in seguito.
Per ulteriori informazioni sul codice scrivi:
roc...@tin.it
Spero di avere risolto il tuo problema