Newsgroup: it.comp.appl.access
Titolo: Creare codice Cli\For in modo automatico ...

Salve,
espongo il mio quesito!
Ho una maschera nella quale inserisco l'anagrafica Clienti \ Fornitori.
Quando inserisco un nuovo codice, la prima selezione mi chiede il tipo
contatto e posso scegliere tra C\F ... detto questo, vorrei che una
volta scelto se C o F il sistema mi attribuisse in modo automatico il
codice che è cosi composto
Clienti: da C0001 progrssivi
Fornitori: da F0001 progressivi
Ovviamente potrebbero gia esserci dei codici ed essendo univoci, non
possono\devono essere ripetuti!!!!
Vorrei gestire tutto da codice, ma ho bisogno del Vs. graditissimo
aiuto.
Grazie anticipatamente e buona giornata.
--
PR (provvisoriamente utilizzo account di MC ... fuori ufficio per
lavoro)

 ha scritto nel messaggio 
news:1120551983.4...@g49g2000cwa.googlegroups.com...






E ' come se dovessi crearti un contatore. C'è una funzione sul sitocomune 
che fa questo: creazione contatori per fatture o altro. Secondo me se la 
personalizzi un po' dovresti riuscire ad usarla.
Prova a vederla poi facci sapere che ti diamo una mano.

 Grazie anticipatamente e buona giornata.
"F" & format(dcount("codcliente", "anagrafica", tipologia =
'Fornitore')+1,"0000")
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

 'Fornitore')+1,"0000")
MA se hanno cancellato un codice in mezzo questa non funziona
forse e' meglio una dmax
--
a.cara

Buongiorno MA,
ho provato così:
Private Sub CFTIPO_AfterUpdate()
Dim COF As String
Dim VCODE As String 'Codice Virtuale per progressione Codice Anagrafico
If Me.CFTIPO.Value = "C" Then
    COF = Me.CFTIPO.Value
    Me.lbl_cf.Caption = "CLIENTE"
    VCODE = Me.CFTIPO.Value & Format(DCount("CFCODICE", "OP_ANACF",
COF) + 1, "0000")
    'ME.CFTIPO & format(dcount("CFCODICE", "OP_ANACF", tipologia
='Fornitore')+1,"0000")
Else
    Me.lbl_cf.Caption = "FORNITORE"
End If
End Sub
ma in debug mi da errore runtime 2001 ... Azione precedente annullata
... per caso ho sbagliato ad interpretare il tuo codice?
Grazie intanto!
--
PR


Hai ragione.


 Grazie intanto!
Private Sub CFTIPO_AfterUpdate()
    if me.cftipo = "c" then
        "c" & format(dmax("CFCODICE", "OP_Anacf", "cftipo = 'c'")+1,"0000")
        me.lbl_cf.caption = "Cliente"
    else
        "f" & format(dmax("CFCODICE", "OP_Anacf", "cftipo = 'F'")+1,"0000")
        me.lbl_cf.caption = "Fornitore"
    end if


Grazie!!!
Alla fine il codice funzionante è così composto:
Private Sub CFTIPO_AfterUpdate()
Dim tipologia As String
Dim VCODE As String 'Codice Virtuale per progressione Codice Anagrafico
If Me.CFTIPO = "c" Then
        VCODE = "C" & Format(DCount("CFCODICE", "OP_AnaCF", "cftipo =
'c'") + 1, "0000")
        Me.lbl_cf.Caption = "Cliente"
        Me.CFCODICE.SetFocus
        Me.CFCODICE.Value = VCODE
        Me.CFRAGSOC.SetFocus
    Else
        VCODE = "F" & Format(DCount("CFCODICE", "OP_AnaCF", "cftipo =
'F'") + 1, "0000")
        Me.lbl_cf.Caption = "Fornitore"
        Me.CFCODICE.SetFocus
        Me.CFCODICE.Value = VCODE
        Me.CFRAGSOC.SetFocus
End If
End Sub
Grazie per la disponibilità e per la pazienza, questo NG è davvero un
pozzo di sapienza!!!!
Buona continuazione e ... al prossimo post!!
--
PR


Solo una cosa,
usa dmax invece di dcount
