Forms!ana form! alt form! alan kod ile nasıl ifade edilir?

1 2 3
29/05/2009, 18:50

firdevs

Sayın Hocalarım
Bu işler ne zormuş..
Bir arpa boyu yol gidemiyorum.
Private Sub KDV_Son_Durum_DblClick(Cancel As Integer)
If MsgBox("İNDİRİLECEK KDV tutarı Aktarılan KDV alanına aktarılsın mı?", vbYesNo, "Onaylayınız") = vbYes Then
Forms![A_DONEM_FORM_ANA]![A_DONEM_Gelir_ANA alt formu]!AktarilanindrKDV = IIf(IsNull(Forms![A_DONEM_FORM_ANA]![A_DONEM_Gelir_ANA alt formu]!AktarilanindrKDV), Forms![F_DONEM_INDR_KDV_Son]!KDV_Son_Durum, [A_DONEM_FORM_ANA]![A_DONEM_Gelir_ANA alt formu]!AktarilanindrKDV)

End If

Bu kodun neresi yanlış sürekli debug diyor.
Kurcalaya kurcalaya artık benim kafam da karıştı..
Kod karışık gelebilir form ve alanların isimlerinden dolayı.
Bana açıklayıcı sade bir kod örneği verseniz de olur.
29/05/2009, 18:58

okileturc

If MsgBox("İNDİRİLECEK KDV tutarı Aktarılan KDV alanına aktarılsın mı?", vbYesNo, "Onaylayınız") = vbYes Then

If (IsNull(Forms![A_DONEM_FORM_ANA]![A_DONEM_Gelir_ANA alt formu]!AktarilanindrKDV)Then
Forms![A_DONEM_FORM_ANA]![A_DONEM_Gelir_ANA alt formu]!AktarilanindrKDV = Forms![F_DONEM_INDR_KDV_Son]!KDV_Son_Durum
Else
Forms![A_DONEM_FORM_ANA]![A_DONEM_Gelir_ANA alt formu]!AktarilanindrKDV = [A_DONEM_FORM_ANA]![A_DONEM_Gelir_ANA alt formu]!AktarilanindrKDV)
End If
End If


Bir de bunu deneseniz ?
Açıklama olarak :
Adreslemelerinizin doğru olduğunu varsayıyorum
sadece "IIf" ten vaz geçip
içiçe 2 "If" kullanıyorum
29/05/2009, 19:10

firdevs

Olmuyor copile error syntax error diyor.
29/05/2009, 19:11

okileturc

uygulamayı ekleyin bakalım
29/05/2009, 19:14

firdevs

adresleme dediğiniz kullandığım form ve alan adlarının doğru yazılışını kast ediyorsanız
defalarca kontrol ettim kesinlikle doğru
adres gösterme şeklimde hata var diye düşünüyorum.
Bundan önce tek açılan formdan yine tek bir açık olan forma aktarma yapmıştım .
Bu işlemi birkaç forma uyguladım.
Bunda alt formu adres gösteremediğimi düşünüyorum.
uygulamam çok büyüdü ve çok karışık gelebilir .
Resmen sizi çatlatır.
Razıyım olsun diyorsanız göndereyim.
29/05/2009, 19:18

okileturc

Lütfen Mesajınız dahil silip
aşağıdaki kodu tam olarak
yapıştırıp
denermisiniz



Kod:
aktar As Integer
aktar = MsgBox("İNDİRİLECEK KDV tutarı " & vbCrLf & _
    "Aktarılan KDV alanına" & vbCrLf & _
    "aktarılsın mı ?", _
    vbCritical + vbYesNo, _
    "Onaylayınız")
If aktar = 6 Then
If IsNull(Forms![A_DONEM_FORM_ANA]![A_DONEM_Gelir_ANA alt formu]!AktarilanindrKDV) Then
Forms![A_DONEM_FORM_ANA]![A_DONEM_Gelir_ANA alt formu]!AktarilanindrKDV = Forms![F_DONEM_INDR_KDV_Son]!KDV_Son_Durum
Else
Forms![A_DONEM_FORM_ANA]![A_DONEM_Gelir_ANA alt formu]!AktarilanindrKDV = [A_DONEM_FORM_ANA]![A_DONEM_Gelir_ANA alt formu]!AktarilanindrKDV
End If
End If
1 2 3