Skip to main content

AccessTr.neT


karma kutuya göre toplama çıkarma

karma kutuya göre toplama çıkarma

#1
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 


Visual Basic Code
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 


Visual Basic Code
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.
.rar maras321...rar (Dosya Boyutu: 20,92 KB | İndirme Sayısı: 9)
Cevapla
#2
f_altislem formunuzdaki alt ve üst alan bağlantılarını kaldırın. Sonra f_altislem formunun SQL'ini
Visual Basic Code
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.
Cevapla
Sad #3
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.[Resim: sad.png]
Son Düzenleme: 05/12/2016, 23:01, Düzenleyen: maras321. (Sebep: düzeltme)
Cevapla
#4
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.
Cevapla
#5
f_altislem formunun kod sayfasına;
Visual Basic Code
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;
Visual Basic Code
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. Img-grin
Cevapla
#6
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.
.rar maras321...rar (Dosya Boyutu: 28,36 KB | İndirme Sayısı: 2)
Son Düzenleme: 06/12/2016, 03:13, Düzenleyen: maras321. (Sebep: düzeltme)
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task