eğer kodları aşağıdaki gibi değiştirirsen tıklamayada gerek kalmayacak sanırım.
Kod:
Private Sub Form_Current()
'form yeni kayıtta ise son kaydı kopyala kaydı yapıştır.
If Me.NewRecord Then
DoCmd.GoToRecord , , acLast
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
DoCmd.GoToRecord , , acNewRec
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdPaste
End If
End Sub
Olayı şu şekilde çözdüm:
Private Sub YolcTarihi_DblClick(Cancel As Integer)
DoCmd.GoToRecord , , acLast
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
DoCmd.GoToRecord , "", acNewRec
DoCmd.RunCommand acCmdPaste
Me.YolcTarihi = YolcTarihi + 1
End Sub
Örneğiniz gayet güzel çalışıyor. Tek sıkıntı 1 gün sonrasıysa en basit çözümü uygulayın. YolcTarihi alanındaki çift tıklama yordamını şöyle yapın.
Kod:
Private Sub YolcTarihi_DblClick(Cancel As Integer)
DoCmd.GoToRecord , , acLast
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
DoCmd.GoToRecord , "", acNewRec
DoCmd.RunCommand acCmdPaste
Me.YolcTarihi = YolcTarihi + 1
End Sub
Ben kontrol ettim, böyle de olsa artıkyıl ve şubat ayı olayı doğru çalışıyor.
(15/07/2009, 13:37)mehmetdemiral yazdı: [ -> ]Örneğiniz gayet güzel çalışıyor. Tek sıkıntı 1 gün sonrasıysa en basit çözümü uygulayın. YolcTarihi alanındaki çift tıklama yordamını şöyle yapın.
Kod:
Private Sub YolcTarihi_DblClick(Cancel As Integer)
DoCmd.GoToRecord , , acLast
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
DoCmd.GoToRecord , "", acNewRec
DoCmd.RunCommand acCmdPaste
Me.YolcTarihi = YolcTarihi + 1
End Sub
Ben kontrol ettim, böyle de olsa artıkyıl ve şubat ayı olayı doğru çalışıyor.
Ustam ilginize teşekkürler. Birde aklıma şu geldi: Birden fazla kayıt var ve örneğin 6 satır kayıttan 2.satırı tıklayıp çoğaltmak istiyorum o zaman son satır olarak eklenen yeni kaydın tarihi 2. satırın tarihinden 1 fazla olyor. Hangi satırı tıklarsak tıklayalım en son kaydın tarihine 1 ekleme imkanı varmıdır?
çOK KOLAY
DoCmd.GoToRecord , , acLast
bölümününü silin gitsin.
(15/07/2009, 14:52)mehmetdemiral yazdı: [ -> ]çOK KOLAY
DoCmd.GoToRecord , , acLast
bölümününü silin gitsin.
Ustam galiba iyi anlatamadım. Şimdi 6 kayıt var (veya satır diyelim)
1. Satır 01.07.2009 > Karşısında diğer alanlar
2. Satır 02.07.2009 > " " "
.....
6. Satır 06.07.2009 " " "
2. Satırda iken komutu çalıştırdığımızda 2.satırın tarihine 1 ekleyip 7.satıra
(07.07.2009 yerine) 03.07.2009 yazıyor. Demek istediğim hangi satırda olursam olayım daima en son kayıttaki tarihe 1 eklesin.