[SORGU] Kontenjana Göre Sorgu oluşturmak
#13
Bu yapıda bir kodlama hazırladım.. Sanırım amacınıza uygun.. Test edersiniz..

Visual Basic
  1. Dim rs As ADODB.Recordset
  2. Set rs = New ADODB.Recordset
  3. CurrentDb.Execute "delete from temp"
  4. CurrentDb.Execute "insert into temp select * from srg_AktifZimmet"
  5.  
  6.  
  7.  
  8. rs.Open "temp", CurrentProject.Connection, 1, 3
  9. rs.MoveFirst
  10.  
  11. Do Until rs.EOF
  12.  
  13. grp = rs("grup")
  14. mktr = DLookup("miktar", "tbl_IhaleMiktar", "grup=" & grp)
  15. kalan = CInt(mktr) - DCount("*", "srg_AktifZimmet", "grup=" & grp)
  16.  
  17. For i = 0 To kalan
  18. If DCount("*", "temp", "grup=" & grp) < mktr Then
  19.  
  20. With DoCmd
  21. .SetWarnings 0
  22. .RunSQL "INSERT INTO temp ( GrupSira, Grup ) SELECT " & i + 1 & ", " & grp
  23. .SetWarnings -1
  24. End With
  25. End If
  26. Next
  27. rs.MoveNext
  28. Loop
  29. rs.Close
  30.  
  31.  
  32. ''''
  33. rs.Open "select * from temp where GrupSira is null", CurrentProject.Connection, 1, 3
  34. rs.MoveFirst
  35.  
  36. Do Until rs.EOF
  37.  
  38. grp = rs("grup")
  39. dd = Nz(DMax("GrupSira", "temp", "grup=" & rs("grup")), 1)
  40. rs("GrupSira") = dd + 1
  41. rs.MoveNext
  42. Loop
  43. rs.Close
  44. Requery




Eklenti Dosyaları
.rar   Örnek_trz.rar (Boyut: 327,8 KB / İndirilme: 55)



  Alıntı
Bu mesajı beğenenler:
#14
İlgilendiğiniz için teşekkür ederim.
Ofis dışında olduğum için çalışmanızı inceleyemedim fakat ilk fırsatta göz atacağım.



  Alıntı
Bu mesajı beğenenler:
#15
Sayın Taruz,
Çok teşekkür ediyorum, bu haliyle işimi görecek.

Grup kontenjanında bulunan eksiklerin (boşlukların) en üst sırada olması yerine
en alta atmak için nasıl bir değişiklik yapmamız lazım?



  Alıntı
Bu mesajı beğenenler:
#16
(15-02-2018, 17:44)iscinar demiş ki: Sayın Taruz,
Çok teşekkür ediyorum, bu haliyle işimi görecek.

Grup kontenjanında bulunan eksiklerin (boşlukların) en üst sırada olması yerine
en alta atmak için nasıl bir değişiklik yapmamız lazım?

Kod bloğunu aşağıdaki ile değiştirirseniz istediğiniz şekilde sıralama olacaktır..:

Visual Basic
  1. Dim rs As ADODB.Recordset
  2. Set rs = New ADODB.Recordset
  3. CurrentDb.Execute "delete from temp"
  4. CurrentDb.Execute "insert into temp select * from srg_AktifZimmet"
  5.  
  6.  
  7.  
  8. rs.Open "temp", CurrentProject.Connection, 1, 3
  9. rs.MoveFirst
  10.  
  11. Do Until rs.EOF
  12.  
  13. grp = rs("grup")
  14. mktr = DLookup("miktar", "tbl_IhaleMiktar", "grup=" & grp)
  15. kalan = CInt(mktr) - DCount("*", "srg_AktifZimmet", "grup=" & grp)
  16.  
  17. For i = 0 To kalan
  18. If DCount("*", "temp", "grup=" & grp) < mktr Then
  19.  
  20. With DoCmd
  21. .SetWarnings 0
  22. .RunSQL "INSERT INTO temp ( GrupSira, Grup ) SELECT " & mktr - i & ", " & grp
  23. .SetWarnings -1
  24. End With
  25. End If
  26. Next
  27. rs.MoveNext
  28. Loop
  29. rs.Close
  30.  
  31.  
  32. ''''
  33. rs.Open "select * from temp where GrupSira is null", CurrentProject.Connection, 1, 3
  34. rs.MoveFirst
  35.  
  36. Do Until rs.EOF
  37.  
  38. grp = rs("grup")
  39. mktr = DLookup("miktar", "tbl_IhaleMiktar", "grup=" & grp)
  40.  
  41. dd = Nz(DMin("GrupSira", "temp", "grup=" & rs("grup")), mktr + 1)
  42. rs("GrupSira") = dd - 1
  43. rs.MoveNext
  44. Loop
  45. rs.Close
  46. Requery





  Alıntı
Bu mesajı beğenenler:
#17
Bu değişiklik işleminden önce
İhale miktarı ile araç sayısı eşit olması durumunda GrupSıra 2 den başlıyordu
Şimdi o hata da düzelmiş oldu.

GenelSıra Numarasının Otomatik Sayı olması işlem tekrarlarında sıranın sürekli büyük rakamlara çıkmasına yol açıyor.

Bu alanın veri türünü sayı yapsak
her işlemden sonra 1 den başlayarak saydırmak için nasıl bir değişiklik yapmamız gerekir?



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [SORGU] Benzer Veriye Göre Sorgu Oluşturmak toros333 2 231 16-09-2023, 22:38
Son Mesaj: toros333
  Ilgili Güne Göre Koşullu Sorgu turgay52 6 223 23-08-2023, 11:50
Son Mesaj: turgay52
  [FORM] Gezinti Formu Ile Alt Form Oluşturmak abahceci 2 170 09-08-2023, 15:09
Son Mesaj: abahceci
  [SORGU] Onay Kutusuna Göre Sorgu Listesi Oluşturma 88888888 6 364 31-07-2023, 16:40
Son Mesaj: 88888888
  Formda Kaydedilen Her Bir Veriye , Dosyaya Ulaşmak Için Köprü Oluşturmak tarkanaykın 6 403 19-04-2022, 21:28
Son Mesaj: tarkanaykın
  Form uzerinden Resim Ve Pdf Kaydetmek Icin Ayri Ayri Klasor Olusturmak Mumkun Mu? Murat007 39 2.346 01-02-2022, 03:37
Son Mesaj: rerdem1903
  Im Değerine Göre - Tag Değerine Göre Işlem Yapma alikagan 5 326 09-12-2021, 09:06
Son Mesaj: halily
access-sql-20 [SORGU] Sorgu Sonuçlarını Form Numarasına Göre Tabloda Saklama Sorunu Matriarch 19 892 17-09-2021, 10:29
Son Mesaj: Matriarch

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi