Arkadaşlar merhaba.Yapmış olduğum forma ve alt forma bir kaç işlem yapmakyatım.Üstformda bulunan alanın tamamı altformdada var.En fazla üç tanesinin verilerini altforma çekebildim.Diğerlerini çekemedim.Bunu nasıl yapa bilirim?
Ayrıca yina aynı formda bulunan karma kutuda Alış ı seçtiğim zaman
Private Sub giris_AfterUpdate()
Me.tppips.Value = Me.tp.Value - Me.giris.Value
Me.stoppips.Value = Me.stop.Value - Me.giris.Value
End Sub
şeklinde hesaplama işimi görüyor.
Satışı seçtiğim zaman ise
Private Sub giris_AfterUpdate()
Me.tppips.Value = Me.giris.Value - Me.tp.Value
Me.stoppips.Value = Me.giris.Value - Me.stop.Value
End Sub
bu şekilde işimi görüyor ama ben bunu yapamıyorum.Acaba bunu nasıl yapabilirim.Şimdiden çok teşekkürler.
f_altislem formunuzdaki alt ve üst alan bağlantılarını kaldırın. Sonra f_altislem formunun SQL'ini
SELECT t_altislem.idaltislem, t_altislem.tarih, t_altislem.adi, t_altislem.giris, t_altislem.tp, t_altislem.stop, t_altislem.cinsi, t_altislem.kademe, t_altislem.tppips, t_altislem.stoppips, t_altislem.alan1, t_altislem.alan2, t_altislem.alan3 FROM t_altislem WHERE (((t_altislem.cinsi)=[Formlar]![f_islem]![cinsi]));
ile değiştirin. Kontrol edin.
İstediğiniz olayı tam olarak algılayamadım. Ancak mantıkta bir sorun hissettim. Ana tablonuz ile diğer tablonuz arsında bir ilişki kurmalı ve alanları bağlamalısınız. Bu şekilde formunuzda ve oluşturacağınız sorgularda verileri daha sağlıklı çağırabilirsiniz. Umarım doğru anlamışımdır.
Sayın ercan şahin cevap için teşekkürler ama dediğinizi yapacak kadar bilgim yok. Dediğinizi formun üzerinde yapmanız mümkünmü? yada nereye nasıl ekleyeceğim tam olarak söylerseniz kendim yapmaya calışayım.
formu bağlama işini halletim ercan bey çok saolun. yalnız şimdi diğer sorumu bi türlü halledemedim
karma kutuda Alış ı seçtiğim zaman
Private Sub giris_AfterUpdate()
Me.tppips.Value = Me.tp.Value - Me.giris.Value
Me.stoppips.Value = Me.stop.Value - Me.giris.Value
End Sub
şeklinde hesaplama işimi görüyor.
Satışı seçtiğim zaman ise
Private Sub giris_AfterUpdate()
Me.tppips.Value = Me.giris.Value - Me.tp.Value
Me.stoppips.Value = Me.giris.Value - Me.stop.Value
End Sub
bu şekilde olması için ne yapmam lazım.
f_altislem formunun kod sayfasına;
Private Sub Form_Load()
If Forms!f_islem.cinsi = "ALIŞ" Then
Me.RecordSource = "SELECT t_altislem.idaltislem, t_altislem.tarih, t_altislem.adi, t_altislem.giris, t_altislem.tp, t_altislem.stop, t_altislem.cinsi, t_altislem.kademe, [stop]-[giris] AS stoppips, t_altislem.alan1, t_altislem.alan2, t_altislem.alan3, [tp]-[giris] AS tppips FROM t_altislem WHERE (((t_altislem.cinsi)=[Formlar]![f_islem]![cinsi]));"
Else
Me.RecordSource = "SELECT t_altislem.idaltislem, t_altislem.tarih, t_altislem.adi, t_altislem.giris, t_altislem.tp, t_altislem.stop, t_altislem.cinsi, t_altislem.kademe, [giris]-[stop] AS stoppips, t_altislem.alan1, t_altislem.alan2, t_altislem.alan3, [giris]-[tp] AS tppips FROM t_altislem WHERE (((t_altislem.cinsi)=[Formlar]![f_islem]![cinsi]));"
End If
End Sub
yazın ve Formun Yüklendiğinde özelliğini "Olay Yordamı" olarak seçin,
f_islem formunun kod sayfasına;
Private Sub cinsi_AfterUpdate()
Me.f_altislem.Requery
End Sub
yazın. Sonrasında da f_islem formunun CİNSİ alanının Güncelleştirme Sonrasında özelliğini "Olay Yordamı" olarak seçin ve deneyin. Umarım olmuştur. Kolay gelsin. Sonucu bildirirseniz sevinirim.
Not: Belki bana kızıyorsunuzdur. Yapıp neden örneği eklemiyor diye. Ancak amacım bu işlemleri size yaptırmak.
ercan bey dediklerinizi harfiyen uyguladım.... satışı seçtiğimde isteğim oluyor fakat alışta tppips + çıkması gerekirken - çıkıyor.benim anladığım her defasında alışta satışta secilse ikisinide aynı formülden hesaplıyor.acaba benmi yanlış bişey yaptım?
defalarca deneme rağmen alış ve satışlarda her seferinde farklı sonuçlar çıktı.Bazen ALIŞ secildiğinde yapılması gerekeni doğru yapıyor.Bazen SATIŞ secildiğinde yapılası gerekeni doğru yapıyor.
sorun haloldu.
emeği gecen herkese çok teşekürler.
Kod:
If Forms!f_islem.cinsi = "SATIŞ" Then
Me.RecordSource = "SELECT t_altislem.idaltislem, t_altislem.tarih, t_altislem.adi, t_altislem.giris, t_altislem.tp, t_altislem.stop, t_altislem.cinsi, t_altislem.kademe, [giris]-[stop] AS stoppips, t_altislem.alan1, t_altislem.alan2, t_altislem.alan3, [giris]-[tp] AS tppips FROM t_altislem WHERE (((t_altislem.cinsi)=[Formlar]![f_islem]![cinsi]));"
Else
Me.RecordSource = "SELECT t_altislem.idaltislem, t_altislem.tarih, t_altislem.adi, t_altislem.giris, t_altislem.tp, t_altislem.stop, t_altislem.cinsi, t_altislem.kademe, [stop]-[giris] AS stoppips, t_altislem.alan1, t_altislem.alan2, t_altislem.alan3, [tp]-[giris] AS tppips FROM t_altislem WHERE (((t_altislem.cinsi)=[Formlar]![f_islem]![cinsi]));"
End If
örneği eklemeyi umutmuşum düzenlenmiş hali ektedir.Sorun cözülmüştür.