Sıra Numarası Verme İşlemi Nasıl Yapılmadı - Baskı Önizleme +- AccessTr.neT (https://accesstr.net) +-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html) +--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html) +--- Konu Başlığı: Sıra Numarası Verme İşlemi Nasıl Yapılmadı (/konu-sira-numarasi-verme-islemi-nasil-yapilmadi.html) Sayfalar:
1
2
|
Sıra Numarası Verme İşlemi Nasıl Yapılmadı - SeferŞANLI - 24/04/2020 Çalışmamda yapılan çalışma ile ilgili olarak sistematik bir sıra numarası vermek istiyorum.
tabloya dayalı sorgu oluşturup,
koduyla da sayıyı oluşturuyorum. Lakin şöyle bir durum var, İlişkili olan kısımlar otomatik sayı türünden formlar açılıyor. Herhangi bir veri silinme işleminde sıra numarası arasında kopukluklar oluşuyor. Olay numarasında ise söyle bir hususla karşılaşıyorum. Diyelim olay numarası 200418001 200418002 200418003 bir numaradaki olaı silince yeni olaya tekrar 200418003 kaydını veriyor. Bu olayı nasıl çözebilirim. RE: Sıra Numarası Verme İşlemi Nasıl Yapılmadı - berduş - 24/04/2020 Çalışmanız olmadığından söylemesi zor ama eger tablolar arsında ilişki kurmuşsanız üst kaydı silmeden önce -artık alt kayıtlara ihtiyaç duyulmayacaği icin- alt kayıtların silinmesi sağlanabilir. RE: Sıra Numarası Verme İşlemi Nasıl Yapılmadı - accessman - 24/04/2020 Demekki.yeni olay otomatik sayı almıyor 200418003 sayısı yerine hangisi olması gerek sizce 201418003 200419003 200418004 Benzersiz sayı üretimini takip eden Otomatik sayı alanı değil mi Alan veri türü o olmadığına göre siz takip edeceksiniz sorular şunlar *Yeni numara kaç olmalı ? *Hali hazırda bu numara var mı ? *Bu yok ama başka tablolarda bunun ile ilişkili kayıt var mı Bu üç sorudan hangisine cevap buladıysanız onun üzerine odaklanmak lazım Kod:
Me.txtolay_sıra_no = Format(Date, "yymmdd") & DLookup("yeniolay", "Srg_Olay_Sayisi") 200418004 Olması gerektiğini nasıl anlayabilir Siz ona tablodaki kaydı tarihin sonuna ekle Gibi birşeyler diyorsunuz (+1) bile demezseniz o ne yapsın Kod:
Msgbox DLookup("yeniolay", "Srg_Olay_Sayisi") Kod:
Mid([olay_no],7,11) Eğer 00000 böyle olacak ise Kod:
Mid([olay_no],7, 5) Kod:
Format(Mid([olay_no],7,11)+1,"00000") Kod:
004 Kod:
Format(Mid([olay_no],7,3)+1,"000") Kod:
Mid([olay_no],7,3) Kod:
İf(isNumeric(Mid([olay_no],7,3))) Then Kod:
Dim arti_bir as Integer Falan filan gibi şeyler ile Kod:
004 Kod:
SELECT TOP 1 tbl_disiplinolayi.olay_no, Format(Mid([olay_no],7,11)+1,"00000") AS yeniolay, Left([olay_no],6) AS tarih Kod:
(((Left([olay_no],6))=Format(Date(),"yymmdd"))) Kod:
DMax("UnitPrice", "Order Details", "OrderID = 10248") Kod:
DLookup("yeniolay", "Srg_Olay_Sayisi") Kod:
dim eski_sayi,yeni_sayi ama bana soracak olursanız sen nasıl yapardın diye eğer 200418001 değerini bir yerlerde kanunen zoraki kullanmam gerekmiyorsa tarihi zaman ile birlikte kullanırdım sadece Kod:
Me.txtolay_sıra_no = Now RE: Sıra Numarası Verme İşlemi Nasıl Yapılmadı - alicimri - 24/04/2020 Tablonuzda Veri Türü Otomatik Sayı olan "Kimlik" alanı ve Veri türü Metin Olan olay_no alanı bulunsun. İlk önce olay sıra_no alanını içermeyen bir kayıt ekleyin. Bu ekleme olayından hemen sonra çalışan aşağıdaki güncelleme kodlarını çalıştırın Kod:
UPDATE Tablo1 SET Tablo1.sıra_no = Format(Date(),"yymmdd") & Format([Kimlik],"000") örnek dosya ekte RE: Sıra Numarası Verme İşlemi Nasıl Yapılmadı - alicimri - 24/04/2020 Onaylama sorusu sormasını istemiyorsanız aşağıdaki kodu kullanın Kod:
CurrentDb.Execute "UPDATE Tablo1 SET Tablo1.sırano = Format(Date(),'yymmdd') & Format([Kimlik],'000') WHERE (((Tablo1.Kimlik)=(SELECT Max(Tablo1.[Kimlik]) AS EnçokKimlik FROM Tablo1)));" RE: Sıra Numarası Verme İşlemi Nasıl Yapılmadı - accessman - 24/04/2020 (24/04/2020, 12:03)alicimri yazdı: Onaylama sorusu sormasını istemiyorsanız aşağıdaki kodu kullanın"?" işaretleri hata veriyor |