Skip to main content

AccessTr.neT


Alt Form Silinen Otomatik Sayının yerini Doldurma

Alt Form Silinen Otomatik Sayının yerini Doldurma

Çözüldü #1
Merhabalar.

Sitede yayınladığınız Silinen Otomatik Sayının yerini Doldurma ile ilgili örneği kendi formuma uyguladım. Öncelikle çok ama çok teşekkür ederim. Süper oldu.
Ancak formumda bir altform var ve forma listeden veri aktarıyorum. Yanlış aktardığımı sildiğim de Otomatik sayı silineni tekrar vermiyor. Kaldığı yerden devam ediyor. Bu hususta yardımcı olabilirseniz çok sevinirim. Örnek ekte gönderilmiştir.
İyi çalışmalar.
.rar raburabu.rar (Dosya Boyutu: 186,56 KB | İndirme Sayısı: 7)
Son Düzenleme: 09/06/2017, 15:19, Düzenleyen: raburabu.
Cevapla
#2
Merhaba, alt formda bu işlemi yapamazsınız.

Uygulama tasarımınıza göre,  Hareketdetay isimli tabloya hareketid değeri 1 olan kayıt eklediğinizde, hareketdetid değeri 1 olursa, yeni siparişte hareketid değeri 2 olduğunda hareketdetid değerine tekrar 1 yazdıramazsınız.

HAREKETDETAY tablosundaki HAREKETDETID alanı birincil anahtar, aynı sayıyı tekrar yazdıramazsınız.

Bunun yerine, alt forma "s_no" adında metin kutusu ekle, bu metin kutusunun denetim kaynağına

Visual Basic Code
=RowNum([Form])

Kodu ekle, alt forma aşağıdaki kodu ekle

Visual Basic Code
Public Function RowNum(frm As Form) As Variant
On Error GoTo Err_RowNum
    With frm.RecordsetClone
        .Bookmark = frm.Bookmark
        RowNum = .AbsolutePosition + 1
    End With
Exit_RowNum:
    Exit Function
Err_RowNum:
    If Err.Number <> 3021& Then
        Debug.Print "RowNum() error " & Err.Number & " - " & Err.Description
    End If
    RowNum = Null
    Resume Exit_RowNum
End Function

Siz liste kutusuna çift tıklayarak alt forma veri aktardığınızda, altformdaki s_no metin kutusuna sıra numarasını yazar. Silinen otomatik sayının yerine aynı sayıyı verdirmeye veya tablodaki otomatik sayının sıralı olmasıyla uğraşmayın, bırakın 1, 5, 8, 9 gibi sırasız devam etsin. Sizin o alandaki veri ile işiniz yok.
Cevapla
#3
Merhaba ozanakkaya hocam.
İlginiz için teşekkür ederim. Bu silinen ve kullanılmayan (otomatik sayının) ID nin, veri girişlerinin artmasıyla sıkıntı çıkarmaz mı? Örnek HAREKETDETAY tabloma 1.000.000 nuncu ID sırası ile işlem kaydı yapıldığında veya daha fazlası gibi. Eğer sıkıntı çıkarmaz ise ben eski sistemde çalışmaya devam edeceğim.

Dediğinizi yaptım çok güzel çalışıyor. Bunu HAREKETDETAY tablom da ki [HAREKETDETID] Otomatik sayıyı normal sayıya çevirip veri girildiğin de, kaydet e basınca bu sıralı sayıları aktarabilir mi. Kaydetmeden çıkıncada iptal eder sıra bozulmamış olur.
Şimdiden teşekkür ederim.
Cevapla
Çözüldü #4
Merhaba,

Alt formdan kayıt sildikten sonra, liste kutusuna çift tıklarsanız, önce boş olan sıra numarasını tamamlar, sonra yeni sayıdan devam eder.

İnceleyip olumlu/olumsuz bildirimde bulununuz.
.rar raburabu_sld.rar (Dosya Boyutu: 179,83 KB | İndirme Sayısı: 11)
Cevapla
#5
Merhaba ozanakkaya hocam

Çok teşekkür ederim. Allah ilminiz artırsın. Süper çalışıyor. İyi çalışmalar.
Cevapla
#6
Merhaba Ozanakkaya hocam

Gönderdiğiniz çalışmayı kullandığımda fark ettim ki arka arkaya sipariş açtığımda HARKETDETAY tablomda , HAREKETDETID de aynı ID numarası oluyor. Bunun olmaması gerekiyor. Çünkü Bu ID ler sipariş numarası oluyor ve farklı olması gerekiyor. Bu hususta yardımcı olursanız çok sevinirim. Teşekkür ederim.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task