Docmd Komutunun Çok Alanlı Yapıya Uygulanması

06/09/2018, 13:31

notrino

Ekli uygulamamda, tablo ve dolayısıyla formumda sadece Alan1 varsa, butonun tıklanma olayına yazmış olduğum ;

Kod:
DoCmd.GoToControl "Alan1"
DoCmd.RunCommand acCmdCopy
DoCmd.GoToRecord , , acNewRec
DoCmd.GoToControl "Alan1"
DoCmd.RunCommand acCmdPaste

komutu gayet güzel çalışıyor. Ne zaman ki Alan2 yi ekliyorum o zaman buton içindeki kodlar çalışmıyor. Neyi yanlış yapıyorum? Tşk..
06/09/2018, 22:19

mehmetdemiral

Bu yöntemde işlem şu şekilde yapılıyor

1- Alan1'e git
2- Bu alanı belleğe kopyala
3- Yeni bir kayıt aç
4- Alan1'e git
5- Bellekteki kaydı buraya yapıştır

Bu yöntemde kayıtları tek tek kopyalamak zorundasınız. Ama değişkenlere atayarak istediğiniz kadar kaydı kopyalayabilirsiniz. Bunun için iki değişken açalım:
Kod:
Dim Accesstr_Alan1, Accesstr_Alan2 As String


Şimdi de bu değişkenlere Alan1 ve ALan2 değerlerini aktaralım

Kod:
Accesstr_Alan1 = Me.Alan1
Accesstr_Alan2 = Me.Alan2

Artık yeni kayıt açalım
Kod:
DoCmd.GoToRecord , , acNewRec


Şimdi de değişkenlerdeki değerleri yeni alanlara yapıştıralım.
Kod:
Me.Alan1 = Accesstr_Alan1
Me.Alan2 = Accesstr_Alan2


İşlem bu kadar. Toplu olarak çalışmanızdaki düğme kodu şöyle:

Kod:
Dim Accesstr_Alan1, Accesstr_Alan2 As String
Accesstr_Alan1 = Me.Alan1
Accesstr_Alan2 = Me.Alan2
DoCmd.GoToRecord , , acNewRec
Me.Alan1 = Accesstr_Alan1
Me.Alan2 = Accesstr_Alan2

Kolay gelsin.
07/09/2018, 07:32

notrino

(06/09/2018, 22:19)mehmetdemiral yazdı: Bu yöntemde işlem şu şekilde yapılıyor

1- Alan1'e git
2- Bu alanı belleğe kopyala
3- Yeni bir kayıt aç
4- Alan1'e git
5- Bellekteki kaydı buraya yapıştır

Bu yöntemde kayıtları tek tek kopyalamak zorundasınız. Ama değişkenlere atayarak istediğiniz kadar kaydı kopyalayabilirsiniz. Bunun için iki değişken açalım:
Kod:
Dim Accesstr_Alan1, Accesstr_Alan2 As String


Şimdi de bu değişkenlere Alan1 ve ALan2 değerlerini aktaralım

Kod:
Accesstr_Alan1 = Me.Alan1
Accesstr_Alan2 = Me.Alan2

Artık yeni kayıt açalım
Kod:
DoCmd.GoToRecord , , acNewRec


Şimdi de değişkenlerdeki değerleri yeni alanlara yapıştıralım.
Kod:
Me.Alan1 = Accesstr_Alan1
Me.Alan2 = Accesstr_Alan2


İşlem bu kadar. Toplu olarak çalışmanızdaki düğme kodu şöyle:

Kod:
Dim Accesstr_Alan1, Accesstr_Alan2 As String
Accesstr_Alan1 = Me.Alan1
Accesstr_Alan2 = Me.Alan2
DoCmd.GoToRecord , , acNewRec
Me.Alan1 = Accesstr_Alan1
Me.Alan2 = Accesstr_Alan2

Kolay gelsin.

Teşekkürler, çok açıklayıcı olmuş..