AccessTr.neT

Tam Versiyon: DLookUp formülünde Takıldım
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Ekteki sistemle alakalı ufak bir sorunum var. BildirimServisAktarma formunda aktar dediğim zaman Parça Adı parametresini istiyor. Sanırım DLook kodunda hata yaptım. İstediğim aktar butonuna bastıktan sonra Servis Giriş Formunda altformda parça adı kısmına parçanın adı gelmeli. Yardımcı olursanız çok sevinirim. Teşekkürler.



Private Sub Komut14_Click()


If MsgBox("Bildirimi Servis Formuna aktarmak istiyor musunuz?", vbYesNo, "Aktarım Onay") = vbYes Then
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO ServisGiris ( BildirimID, [Servis Tarihi], Şantiye, Perosnel, MakinaID ) SELECT ArızaBildirimAnaTablo.[Bildirim ID], ArızaBildirimAnaTablo.[Bildirim Tarihi], ArızaBildirimAnaTablo.Şantiye, ArızaBildirimAnaTablo.Personel, ArızaBildirimAnaTablo.[Makina ID] FROM ArızaBildirimAnaTablo WHERE (((ArızaBildirimAnaTablo.[Bildirim ID])=[Formlar]![BildirimServisAktarma]![Liste0]));"
DoCmd.RunSQL "INSERT INTO ServisGirisAltForm ( [Bildirim ID], [Servis ID], [Parça Adı], [Bildirim Açıklaması], [Durumu] ) SELECT ArızaBildirimAltForm2.[Bildirim ID], Dlookup ('[ServisID]','ServisGiris','[BildirimID]=' & [Bildirim ID]) AS X, Dlookup ('[Makina Tam Adı]','YedekMakina','[Parça ID]=' & [Parça Adı]) AS Y, ArızaBildirimAltForm2.Açıklama, ArızaBildirimAltForm2.Durumu FROM ArızaBildirimAltForm2 WHERE (((ArızaBildirimAltForm2.[Bildirim ID])=[Formlar]![BildirimServisAktarma]![Liste0]));"
DoCmd.SetWarnings True
If MsgBox("Bildirim Servis Formuna aktarıldı, Bildirim silinsin mi?", vbYesNo, "Silme Onayı") = vbYes Then
DoCmd.SetWarnings False
DoCmd.RunSQL "Delete ArızaBildirimAnaTablo.[Bildirim ID] FROM ArızaBildirimAnaTablo WHERE (((ArızaBildirimAnaTablo.[Bildirim ID])=[Formlar]![BildirimServisAktarma]![Liste0]));"
DoCmd.SetWarnings True
End If

If MsgBox("Aktarım ve silme işlemi yapıldı Form açılsın mı?", vbYesNo, "Form Aç") = vbYes Then
DoCmd.OpenForm "ServisGirisFormu", , , "[BildirimID]=" & [Liste0]

End If
Me.Liste0.Requery
End If
Hocam yeniden düzenleme yaptım eski kodu buldum bu arada, yalnız resimde de görebilirsiniz, aktardıktan sonra açılan formda parça adı numara olarak gözüküyor. Halbuki bu yedekmakina tablosundan veri alıyor. Yedek Makina Tablosunda parça ID ile Makina Tam Adı bölümlerini içeriyor ama ID yi yazıyor. Ben Makina Tam Adı bölümündeki değerin gelmesini istiyorum.

Yardımlarınız için teşekkürler.
2 yerine cummins vt 19 mu yazacak
(09/07/2015, 18:26)ozanakkaya yazdı: [ -> ]2 yerine cummins vt 19 mu yazacak
Aynen öyle hocam Img-grin bunun için formülde kullandığımız bazı alan adlaeınıda türkçe kelimelerden arındırmaya çalıltım ve fazla olan tablo ve formları sildim
Alt formun kayıt kaynağındaki sorguya yedekmakina tablosu ekleyip ilişkilendirdim. Ayrıca, uygulamadaki tabloları ve formları bir an önce düzeltin, ileride sıkıntı çekmeyin.

Yapılmaması gereken ölümcül hatalar
Hocam çok teşekkür ederim, elinize sağlık.
İlk defa yaptığım için çok dağınık oldu inşallah toparlama yapacağım. Saygılar.