2016-04-08 17 views
-2

Access'te sabit alfabesi ve rasgele sayı tablosunu oluşturmak istiyorum.Microsoft Access

Örnek:

Q116-001 
Q116-002 

Q116 kullanıcı tarafından eklendi ve 001, 002 program tarafından oluşturulmuş olması için ihtiyaç vardır.

Bunu nasıl başarabilirim?

+0

Hoş Geldiniz, lütfen şu ana kadar denediğiniz şeyi ekleyin: – gitsitgo

+0

Sadece farklı bir seçenek deniyorum ama çalışmıyor. "Student_ID" gibi, Q116-001, Q216-002, ..., Q117-001, Q217-002, – Lozan

+0

gibi bir alfabe içeren sadece 7 karakter ID'si oluşturulmalıdır. Bunu form düzeyinde yapmak mı istiyorsunuz? – LiamH

cevap

1

Yapacağım şey bu ... Tablo düzeyinde Student_ID (Birincil Anahtar/Otomatik Numara) 'ye göre farklı bir student_code var. student_code, string olabilir ve gerekli, çoğaltılamaz. Form düzeyinde

:

Dim DB As Database 
    Dim RS As Recordset 
    Dim var2 As String 
    Dim var1 As String 
    Dim var3 As String 


    var1 = Left(Me.Student_code, 2) 'this will be the Q106 that the user inputs 

    var2 = "SELECT count(*) AS CountStudent " & _ 
      "FROM Students " & _ 
      "WHERE left(Suppliers.[Student_code],2)='" & var1 & "';" 

    Set DB = CurrentDb 
    Set RS = DB.OpenRecordset(var2, dbOpenDynaset) 
    var3 = RS!CountSupplier + 1 
    Me.Student_Code = UCase(var1) & Format(var3, "000") 

Bu yüzden ilk bölümde yazıp onlar uzaklaşmaya zaman sonra kod tablosunu kontrol eder ve bir sonraki sayı ekler belki lose_focus üzerine, Formu'nda yapılabilir . Ancak, kullanıcı muhtemelen Q106 bölümünü hatırlamayabilir, bu yüzden bunun izlendiğinden emin olmanız gerekebilir.

+0

Sadece bunu başka şekilde ele aldım. Şuan çalışıyor. Bence önerileriniz de işe yarıyor – Lozan