Konu Araçları | Konu Seçenekleri | Gösterim Stili
Tarih
27/08/2018 21:32
Konu Sahibi
notrino
Yorumlar
8
Okunma
360
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy
Kullanici Avatari

notrino

Aktif Üye*
 170
 598
 18/02/2016
31
 İzmir
 
 Ofis 2010 32 Bit
 Bugün,18:59
Çözüldü 
Merhabalar,

Ekli örneğimde gerçekleştirmek istediğim birşey var. Bununla ilgili daha önce gönderdiğiniz şu kodu;

Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim GRevizyon As Integer

If IsNull(Me.revizyon) Or Me.revizyon = "" Then

Me.revizyon = "R1"

Else

GRevizyon = Val(Mid(Me.revizyon, 2, Len(Me.revizyon)))

Me.revizyon = "R" & GRevizyon + 1

End If


ve şu kodu;

Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim AccessTr_EskiKimlik As Integer
Dim AccessTr_EskiAlan As String

AccessTr_EskiKimlik = Me.Kimlik
AccessTr_EskiAlan = Me.alan1

DoCmd.GoToRecord , , acNewRec

Me.alan1 = AccessTr_EskiAlan

DoCmd.RunCommand acCmdSaveRecord

DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO Tablo2 ( alan2, Kimlik ) SELECT Tablo2.alan2, " & Me.Kimlik & " FROM Tablo2 WHERE (((Tablo2.Kimlik)= " & AccessTr_EskiKimlik & "));"
DoCmd.SetWarnings True


birbirleriyle sentezleyerek çeşitli şekillerde kullandım ama istediğimi elde edemedim. İstediğim şey şudur;

Düğmeye basıldığında "alt formda" yeni kayıt açılacak, bu yeni kayıtta revizyon değerleri R1 olacak, ALAN2 değerleri aynen gelecek. (ben ALAN2 de gerekli değişiklikleri manuel yapacağım) Daha sonra düğmeye tekrar bastığımda yine "alt formda" yeni kayıt açılacak bu kez revizyon değerleri R2 olacak ve ALAN2 deki son yapılan değişiklikler ne ise onlar kopyalanıp yapıştırılacak. Yani her düğmeye basışım, "alt formdaki" yeni kayıtta revizyon değerini 1 arttırırken ALAN2 değerlerinin son  hallerini kopyalayıp yapıştıracak.Örnek;

R0......Dede
R0....Nene
R0....Hala
olsun. Düğmeye basınca "alt formdaki" yeni kayıtta;
R1....Dede
R1....Nene
R1...Hala

gelecek. Devamında ben bu ALAN2 değerlerini manuel değiştirdiğimde yani;

R1.....Enişte
R1....Amca
R1....Dayı

yaptığımda tekrar düğmeye basarsam "alt formdaki" yeni kayıtta;

R2....Enişte
R2....Amca
R2....Dayı

gelmeli.
Gönderdiğiniz kodları nasıl organize edersem edeyim yeni kayda hep 3-6-9-12 şeklinde eski verilerle birlikte katlayarak veri kopyaladı. Bir de revizyon değerlerinde hep ilk kaydın revizyonunu bir arttırdı, son kaydı baz aldıramadım. Bunda sizin hatanız yok tabiki, ben senaryonun bu hale geleceğini öngöremediğimden basit örnekler üzerinden sizden çözüm istemiştim.

Bu arada Tablo ilişkilerinde bir değişiklik yapmamalıyım. Çünkü "ANA FORM" yeni bir kayıt açarsam aynı senaryolar bu kayıt içinde diğerinden bağımsız olarak işlemeli.
Teşekkürler..



Kullanici Avatari

ozanakkaya

Kurucu
Oz.... Ak....
 39
 477
 11.718
 29/01/2008
 Denizli
 Memur
 Ofis 2010 32 Bit
 Bugün,18:15
Butonun tıklandığında olayına aşağıdaki kodu ekleyiniz.

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Dim GEskiKimlik As Integer
Dim GEskiAlan As String
Dim db As Database
Dim rs As DAO.Recordset
Dim rstRecords As Recordset

GEskiKimlik = Me.Kimlik1
GEskiAlan = Me.alan1

Set db = CurrentDb
Set rstRecords = CurrentDb.OpenRecordset("SELECT TOP 1 Kimlik1, revizyon, Val(Mid([revizyon],2,Len([revizyon]))) AS GSayi FROM Tablo2 GROUP BY Kimlik1, revizyon, Val(Mid([revizyon],2,Len([revizyon]))) ORDER BY Val(Mid([revizyon],2,Len([revizyon]))) DESC;")

rstRecords.MoveFirst

GSonSayi = rstRecords!GSayi
GSonVeri = "R" & GSonSayi + 1

DoCmd.GoToRecord , , acNewRec

Me.alan1 = GEskiAlan

DoCmd.RunCommand acCmdSaveRecord

DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO Tablo2 ( alan2, Kimlik1, revizyon ) SELECT Tablo2.alan2, " & Me.Kimlik1 & ", '" & GSonVeri & "' FROM Tablo2 WHERE (((Kimlik1)= " & GEskiKimlik & "));"
DoCmd.SetWarnings True


rstRecords.Close

db.Close

Set rstRecords = Nothing
Set db = Nothing


"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 

Kullanici Avatari

notrino

Aktif Üye*
 170
 598
 18/02/2016
31
 İzmir
 
 Ofis 2010 32 Bit
 Bugün,18:59
Merhaba Ozan Bey,

Teşekkürler yanıt için. Ancak butona her basışımda Ana Formda da yeni kayıt açıyor. Ben sadece alt formda yeni kayıt açmasını ve yazdığım senaryoların işlemesini istemiştim.



Kullanici Avatari

ozanakkaya

Kurucu
Oz.... Ak....
 39
 477
 11.718
 29/01/2008
 Denizli
 Memur
 Ofis 2010 32 Bit
 Bugün,18:15
(28/08/2018 20:01)notrino Adlı Kullanıcıdan Alıntı: Merhaba Ozan Bey,

Teşekkürler yanıt için. Ancak butona her basışımda Ana Formda da yeni kayıt açıyor. Ben sadece alt formda yeni kayıt açmasını ve yazdığım senaryoların işlemesini istemiştim.

(27/08/2018 21:32)notrino Adlı Kullanıcıdan Alıntı: Gönderdiğiniz kodları nasıl organize edersem edeyim yeni kayda hep 3-6-9-12 şeklinde eski verilerle birlikte katlayarak veri kopyaladı.

Yazdıklarınız birbiri ile çelişiyor. Tablo1'e yeni kayıt eklenmeyecek ise butonu tıkladığınızda alt forma yeni kayıt eklenecektir. Bu üst mesajda belirttiğiniz şekilde 3-6-9 şeklinde olacaktır.
Örnek uygulamanızdaki Tablo2'de 3 adet kayıt var. Formdaki butona ilk tıklamada ne olmasını istiyorsanız Tablo 2'ye o kayıtları ekleyin. Butona tıkladığınızda Tablo2'ye eklenecek yeni kayıtlarda Kimlik1 ve revizyon alanlarında ne yazacak? Buton 2. kez tıklandığında bu alanlarda ne yazacak?


"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 

Kullanici Avatari

notrino

Aktif Üye*
 170
 598
 18/02/2016
31
 İzmir
 
 Ofis 2010 32 Bit
 Bugün,18:59
Merhaba Ozan Bey,

Sanırım biraz karışık ifade ettim. Şöyle ifade edeyim;

Ana Formda Kimlik=1,  Alan1=A olsun

Alt formda da
R0...Dede
R0...Nene
R0...Hala

olsun.

Düğmeye bastığımda Ana formdaki kayıt sayısı artmasın
Ama alt formda;
R1...Dede
R1....Nene
R1...Hala oluşsun.

Bu aşamadan sonra eğer değerleri değiştirirsem, yani;
R1....Anne
R1....Baba
R1.....Kardeş

şeklinde manuel değiştirirsem ve sonra butona basarsam;
R2.....Anne
R2....Baba
R2....Kardeş şeklinde alt formda yeni kayıtlar oluşmalı.

Yani alt formda yeni kayıt açıldığında son revizyon değerinin karşısındaki kayıtlar aynen kopyalanırken, revizyon değeri de 1 arttırılmış olacak. Eğer ben ana formda yeni kayıt istersem, klasik gezinti düğmeleri ile yeni kayıt oluşturacağım.



Kullanici Avatari

ozanakkaya

Kurucu
Oz.... Ak....
 39
 477
 11.718
 29/01/2008
 Denizli
 Memur
 Ofis 2010 32 Bit
 Bugün,18:15
Kodları aşağıdaki ile değiştirerek deneyiniz

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Dim GEskiKimlik As Integer
Dim GEskiAlan As String
Dim db As Database
Dim rs As DAO.Recordset
Dim rstRecords As Recordset

GEskiKimlik = Me.Kimlik1
GEskiAlan = Me.alan1

Set db = CurrentDb
Set rstRecords = CurrentDb.OpenRecordset("SELECT TOP 1 Kimlik1, revizyon, Val(Mid([revizyon],2,Len([revizyon]))) AS GSayi FROM Tablo2 GROUP BY Kimlik1, revizyon, Val(Mid([revizyon],2,Len([revizyon]))) ORDER BY Val(Mid([revizyon],2,Len([revizyon]))) DESC;")

rstRecords.MoveFirst

GSonSayi = rstRecords!GSayi
GSonVeri = "R" & GSonSayi + 1

Me.alan1 = GEskiAlan

DoCmd.RunCommand acCmdSaveRecord

DoCmd.SetWarnings False

DoCmd.RunSQL "INSERT INTO Tablo2 ( Kimlik1, revizyon, ALAN2 ) SELECT Kimlik1, 'R' & Val(Mid([revizyon],2,Len([revizyon])))+1 AS revizyo, ALAN2 FROM Tablo2 GROUP BY Kimlik2, Kimlik1, 'R' & Val(Mid([revizyon],2,Len([revizyon])))+1, ALAN2, Val(Mid([revizyon],2,Len([revizyon]))), revizyon HAVING (((revizyon) = '" & "R" & GSonSayi & "')) ORDER BY Kimlik2, Val(Mid([revizyon],2,Len([revizyon]))) DESC;"

DoCmd.SetWarnings True

Me.Tablo2_alt_formu.Requery

rstRecords.Close

db.Close

Set rstRecords = Nothing
Set db = Nothing


"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 


Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü Kaydetme Ve Silme Uygulaması notrino 3 242 25/12/2018, 12:48
Son Yorum: notrino
Çözüldü Formdan Rapora Filtre Uygulaması Nasıl Yapılır. Oğuz Türkyılmaz 25 577 23/11/2018, 09:56
Son Yorum: Oğuz Türkyılmaz
Çözüldü Ad Ekleme Uygulaması notrino 5 235 09/11/2018, 12:40
Son Yorum: notrino
Çözüldü Yedekleme Ve Bakım Uygulaması Oğuz Türkyılmaz 18 451 06/11/2018, 10:59
Son Yorum: Oğuz Türkyılmaz
Çözüldü Access Uygulaması Tabloları, Hosting'e Koyma Ve Bağlantı Sağlama Mümkün Mü? alimadam 3 210 05/11/2018, 21:02
Son Yorum: alimadam

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2019 MyBB Group.