[VBA] Tablodaki Proses Numarasına Göre Başka Alanın Verisini Belirleme
#7
Visual Basic
  1. Private Sub tablo_duzenle_Click()
  2. Dim Kayit As New ADODB.Recordset, SiraNo, ElGrp, ElSr, PrsSira, PrsID, GenSira, EGSNS As Long, GrpKd As String
  3. Kayit.Open "SELECT * FROM BOYAMA_RECETE_VERITABANI Order By ISLEM_SIRA, PROSES_ID, VER_GRUBU, MADDE ", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
  4. Kayit.MoveFirst
  5. Do Until Kayit.EOF
  6. SiraNo = SiraNo + 1: PrsSira = PrsSira + IIf(PrsID <> Kayit("PROSES_ID"), 1, 0): GenSira = GenSira + IIf((PrsID & GrpKd) <> (Kayit("PROSES_ID") & Kayit("VER_GRUBU")), 1, 0)
  7. EGSNS = IIf(PrsID <> Kayit("PROSES_ID"), 0, EGSNS) + IIf((PrsID & GrpKd) <> (Kayit("PROSES_ID") & Kayit("VER_GRUBU")), 1, 0)
  8. If PrsID <> Kayit("PROSES_ID") And GrpKd <> Kayit("VER_GRUBU") Then
  9. ElGrp = 1: ElSr = 1
  10. ElseIf PrsID = Kayit("PROSES_ID") And GrpKd = Kayit("VER_GRUBU") Then
  11. ElSr = ElSr + 1
  12. ElseIf PrsID = Kayit("PROSES_ID") And GrpKd <> Kayit("VER_GRUBU") Then
  13. ElGrp = IIf(Mid(Kayit("MADDE"), 1, 3) = "BOY", ElGrp, ElGrp + 1): ElSr = 1
  14. Else
  15. ElGrp = ElGrp + 1: ElSr = 1
  16. End If
  17. Kayit("ELIAR_PARTI_SIRA") = SiraNo
  18. Kayit("ELIAR_GRUP_SIRA_NO") = ElSr
  19. Kayit("ELIAR_GRUP_SIRA") = ElGrp
  20. Kayit("ELIAR_PROSES_SIRA") = PrsSira
  21. Kayit("ELIAR_MADDE") = Mid(Kayit("MADDE"), 1, 3) & PrsSira
  22. Kayit("ELIAR_GNL_SIRA") = GenSira
  23. Kayit("ELIAR_GRUP_SIRA_NO_SAYISI") = EGSNS
  24. PrsID = Kayit("PROSES_ID"): GrpKd = Kayit("VER_GRUBU")
  25. Kayit.Update
  26. Kayit.MoveNext
  27. Loop
  28. Kayit.Close: Set Kayit = Nothing
  29. End Sub



Prosedurunu kullanabilirsiniz.



  Alıntı
Bu mesajı beğenenler: husem
#8
Sn Dsezgin hocam, çok teşekkür ederim,
eklemiş olduğunuz kod da sadece aşağıdakileri yer değiştirdim(ElSr yazan yere ElGrp, ElGrp yazan yere ElSr. kusursuz çalıştı.
Visual Basic
  1. Kayit("ELIAR_GRUP_SIRA_NO") =ElGrp
  2. Kayit("ELIAR_GRUP_SIRA") =ElSr



sn hocam, önceki mesajımda da belirtmiştim, 
yapmaya çalıştığım herşeyi tek kalemde belirtirsem anlaşılmasının zor olduğunu, o yüzden adım adım anlatarak çözüm bulmaya çalışıyorum.

siz Allah razı olsun yardımcı oluyorsunuz.
ben yapılan her işleme ilaveten bir sonraki adımı ekliyorum, kusura bakmayın lütfen.

şimdi yapılacak son bir işlemim kaldı,

aşağıdaki eklediğim resim görselinde yapılmış örnek haliyle anlatmaya çalıştım, aşağıya da yazdım.

eklediğim iki yeni alan aşağıdaki kırmızı yazıyla belirtilenlerdir.
ELIAR_GRUP_SIRA_NO_SAYISI=VER_GRUBU'nun PROSES_ID içindeki her değişiminde bu alana sayısını yazacak. örnek 1 nolu proses_ıd içinde alt alta 3 tane A  var bunlara alt alta 1-1-1 yazacak, sonra B var buna da 2 diyecek, 
diğer prosese geçince yine aynı, ilk gördüğü rakam A'lara 1 diyecek, B'lere 2 ..... gibi.
ELIAR_GNL_SIRA= yine VER_GRUBU'ndaki harflere bakarak numaralandıracak.  örneğin 1 nolu prosesde 3 tane A var. buna 1 diyecek, B'ye =2 diyecek, diğer prosese geçince oradaki A'lara=3, B'lere =4 C'ye=5, diğer prosese gecince yine sıradaki A'ya =6, B'ye=7 ........ gibi devam edecek.


yardımlarınız için çok teşekkür ederim.
iyi çalışmalar hocam.



[Resim: attachment.php?aid=22947]


Eklenti Dosyaları
.png   ELIAR_SON.PNG (Boyut: 66,22 KB / İndirilme: 68)
.rar   ELİAR-son.rar (Boyut: 27,35 KB / İndirilme: 41)



  Alıntı
Bu mesajı beğenenler:
#9
Sn husem;
Projenize ait tum senaryoya hakim olmaniz, sonuc varan yontem ile hizli ve saglam ilerleniyor. tablo ve alan adlarinda konudan uzaklastigim icin de size faydam olmuyor. Bu sekil benim icin veya konuya yardimci olacak diger access dostlari icinde uygun gibi geliyor.


dim gensir as long
GenSira = GenSira + IIf((PrsID & GrpKd) <> (Kayit("PROSES_ID") & Kayit("VER_GRUBU")), 1, 0)
Kayit("ELIAR_GNL_SIRA") = GenSira

Eklemeleri ile Mesaj 7'yi guncelledim.



  Alıntı
Bu mesajı beğenenler: husem
#10
sn dsezgin, teşekkür ederim,
iyi çalışmalar...



  Alıntı
Bu mesajı beğenenler:
#11
sn dsezgin, kolay gelsin.
ELIAR_GRUP_SIRA_NO_SAYISI alanını bulmada diğer kodları biraz karıştırdım ama yapamadım,
bu projede çalışmayan (yapılmayan) tek alan bu kaldı, 8.mesajımda görselle anlatmaya çalışmıştım.
ilgilenme imkanınız olduğunda bakabilirmisiniz.
karmaşık bir yapı, kafa karıştıran alanlar mevcut, kusura bakmayın lütfen.



  Alıntı
Bu mesajı beğenenler:
#12
(04-12-2019, 16:42)husem demiş ki: ELIAR_GRUP_SIRA_NO_SAYISI alanını bulmada diğer kodları biraz karıştırdım ama yapamadım,
bu projede çalışmayan (yapılmayan) tek alan bu kaldı


Mesaj 7'yi guncelledim.



  Alıntı
Bu mesajı beğenenler: husem


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [FORM] Aktif Saati Tablodaki Saat Arasına Göre Bulup Forma Yazdırma yahyamacit 5 105 14-03-2024, 11:07
Son Mesaj: yahyamacit
  Tablodaki Verileri Yan Yana Yazdırmak 10pele 11 114 09-03-2024, 02:52
Son Mesaj: dsezgin
  Acces Sql De Tablodakı Bos Kayıtları Sorgulayabılmek sevincili 2 81 02-02-2024, 01:59
Son Mesaj: dsezgin
  Bir Sütuna Girilen Verileri Başka Bir Sütun Ile Karşılaştırıp Hesaplama bilservisci 4 226 08-01-2024, 11:58
Son Mesaj: bilservisci
  Tablodaki Verileri Yan Yana Yazdırmak atyaty 4 315 11-12-2023, 12:57
Son Mesaj: atyaty
  12 Saatlik (am-pm) Metin Olarak Girilmiş Saat Verisini 24 Saatlik Olarak Gösterme Hk. adnnfrm 2 138 05-10-2023, 03:16
Son Mesaj: adnnfrm
  Tablolarımı Tablo Böl Ile Böldüm, Programı Başka Bir Pc De çalıştırma Sorunu. programmer67 5 185 18-07-2023, 14:43
Son Mesaj: onur_can
  [FORM] Liste Kutusundaki Veriye Göre Stok Ve Ihtiyaç Verisini Otomatik Hesaplama husem 2 218 08-06-2023, 19:03
Son Mesaj: husem

Foruma Git:


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