Pytanie : Potrzeba VB kod Autonumber Pole pole…

Cześć Ekspert!

I am wtykać!   I móc dokładnie znajdować I potrzebować od EE rozwiązanie (lub znajdować który I móc i I potrzebować zasadzony na mój limitowany wiedza VB cyfrowanie) - więc I potrzebować twój wiedza specjalistyczna!  

I polubić the Użytkownik Segregowanie Typ od ciągnienie puszek menu Field1 (lub FileIDType_A w the Kod/Wizerunek przykład) i VB kod Field2 (TempDocID w the Kod/Wizerunek przykład) z prefiks od the Segregowanie Typ the użytkownik wybierać PLUS the następny dostępny liczba dla przykład prefix.

For przykład:

If the Użytkownik wybierać "Korespondencja" od the Segregowanie Typ increment menu (FileIDType_A), then the "TempDocID" pole pokazywać C00001 jeżeli ono być the increment liczba w the kategoria LUB C00002 jeżeli ono być the increment liczba, etc.

If the Użytkownik wybierać "Dokument" od the Segregowanie Typ increment menu, then the "TempDocID' wracać D00001.

Where I wtykać być że the kod I budować utrzymanie "00001" i increment.  Inny problem I chcieć być: C00001, D00002, Etc. - który the prefiks rozpoznawać i the liczenie być oddzielny dla oddzielny prefiks (e.g. C00001, C00002, D00001, D00002).

Is który ewentualny??  I dołączać dwa Kod że I pracować z.  Code1 być the zamknięty zamknięty I potrzebować.  Code2 być zupełnie surowy - I właśnie zaczynać na ono i am wliczając jeśli ono być łatwy dla ty ono być I potrzebować (ono być tylko ustawianie dla jeden prefiks).  I także dołączać the Projekt Widok mój forma z nadzieją help.

THANK TY!!
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
CODE1

Intymny Okręt podwodny - kartoteka _TypeA_AfterUpdate ()
    
    Ciemnawy FileType Sznurek
    Ciemnawy MaxVal Sznurek
    
    FileType =! FileIDType_A

    Wybrany Skrzynka FileType
        Skrzynka "Korespondencja"
            MaxVal = DMax ("[TempDocID]", "T_DocList"," [In_PR_AR] =2 ")
            ! TempDocID = "C" & Format (Val (Prawy (MaxVal, 5)) + (1), "00000")
        Skrzynka "Dokument"
            MaxVal = DMax ("[TempDocID]", "T_DocList"," [In_PR_AR] =2 ")
            ! TempDocID = "D" & Format (Val (Prawy (MaxVal, 5)) + (1), "00000")
        Skrzynka "Env Ocena"
            MaxVal = DMax ("[TempDocID]", "T_DocList"," [In_PR_AR] =2 ")
            ! TempDocID = "EA" & Format (Val (Prawy (MaxVal, 5)) + (1), "00000")
        Skrzynka "Mapa/Grafika"
            MaxVal = DMax ("[TempDocID]", "T_DocList"," [In_PR_AR] =2 ")
            ! TempDocID = "M" & Format (Val (Prawy (MaxVal, 5)) + (1), "00000")
        Skrzynka "Jawny/Agencyjny Zaangażowanie"
            MaxVal = DMax ("[TempDocID]", "T_DocList"," [In_PR_AR] =2 ")
            ! TempDocID = "P" & Format (Val (Prawy (MaxVal, 5)) + (1), "00000")
        Skrzynka "Odniesienie Biblioteka"
            MaxVal = DMax ("[TempDocID]", "T_DocList"," [In_PR_AR] =2 ")
            ! TempDocID = "R" & Format (Val (Prawy (MaxVal, 5)) + (1), "00000")
        Skrzynka Inny
            Odwoływać = Prawdziwy
    Kończyć Wybiórka

Kończyć Okręt podwodny


CODE2

Intymny Okręt podwodny - kartoteka _TypeA_AfterUpdate ()
    
    Ciemnawy DB Jako DAO.Database
    Ciemnawy rst Jako DAO.Recordset
    Ciemnawy lngCntr Długo
    Ciemnawy intRetry Jako Integer
    Ciemnawy intNum Jako Integer, intA Jako Integer, intB Jako Integer
    Ciemnawy strANum Sznurek

    Na Błąd Rozpoczynający ErrorAlphaNumGenerate
    Jeżeli IsNull (File_TypeA) Wtedy
        Odwoływać = Prawdziwy
    Inny
    Set DB = CurrentDb ()
    Ustalony rst = DB.OpenRecordset ("T_Counter", DB_OPEN_DYNASET)
    rst.MoveFirst
    rst. Redagować
    rst! Wartość = rst! Wartość + (1)
    rst. Aktualizacja
    lngCntr = CLng (rst! Wartość) - (1)
    intNum = lngCntr Mod 1000
    intA = (lngCntr \ 1000) Mod 26
    intB = (lngCntr \ 1000) \ 26

    strANum = Chr$ (intB + 65) & Chr$ (intA + 65) & Format$ (intNum, "0000")
    AlphaNumGenerate = strANum
    ! TempDocID = strANum

ExitAlphaNumGenerate:
    Wyjście Okręt podwodny

ErrorAlphaNumGenerate:
    Jeżeli Błądzić = 3188 Wtedy
        intRetry = intRetry + (1)
        Jeżeli intRetry < 100 Wtedy
            Życiorys
        Inny
            MsgBox Error$, 48, "Inny użytkownik ten numerowy"
            Życiorys ExitAlphaNumGenerate
        Kończyć Jeżeli
    Inny
        MsgBox Str$ (Błądzić) & ""& Error$, 48, "Problemowy Wywołujący Liczba"
        Wznawiać ExitAlphaNumGenerate
    Kończyć Jeżeli
Kończyć Jeżeli
Kończyć Okręt podwodny
Attachments:
Access DB Projekt Screen

Odpowiedź : Potrzeba VB kod Autonumber Pole pole…

I badać ono… I właśnie próbować że ty potrzebować twój oryginalny warunek i the oryginalny warunek.

dmax (condition2, condition2, "condition1 I condition2")
Inne rozwiązania  
 
programming4us programming4us