Formda Hesaplanan Bir Değerin Tabloda Aynı Alana da İşlenmesi İçin Ne Yapabiliriz?

gitarisyen

Özel Üye
Katılım
25 Ağustos 2007
Mesajlar
218
Excel Vers. ve Dili
Microsoft Office 2003 Türkçe
Merhaba;

İzninizle bir sorum olacak. Belki bu forumdaki birçok değerli usta için çok basit bir şeydir ama, ben daha çok yolun başında olduğumdan ve "bilmemek ayıp değil, öğrenmemek ayıp" mantığıyla hareket ettiğimden hoşgörünüze sığınarak sorma cesaretini kendimde buldum.

Sorum şu: Formda hesaplanmış bir alanı tabloya nasıl aktarırız? Örnek dosyamda da görüleceği gibi, bir tablo yaptım. Tabloda MİKTAR, ÖDENEN ve KALAN alanları var. Bunların veri türü Para Birimi... Amacım MİKTAR'dan ÖDENEN'i çıkardığım zaman KALAN'ın otomatik olarak hesap edilmesi. Bunun için bir form yaptım ve tabloyu aktardım. Formda da KALAN alanının hesaplamayı yapması için KALAN alanının özelliklerinde "Denetim Kaynağı" kısmına =[MİKTAR]-[ÖDENEN] yazdım. Amacım MİKTAR alanındaki değerden ÖDENEN alanındaki değerin çıkarılıp KALAN alanına yazılması. Formda bu hesaplama oluyor. Örneğin formda 50 YTL'den 20 YTL'yi çıkardığım zaman 30 YTL kalıyor. Ancak bu hesaplanan değer tablodaki KALAN alanına işlenmiyor. Formda hesaplanan bu değerin tabloya da işlenmesi için ne yapabilirim? Orasını burasını biraz kurcaladım Access'in ama çözemedim. Değerli yardımlarınız için şimdiden teşekkürler.

Örneğim ektedir.
 
Katılım
14 Ağustos 2007
Mesajlar
291
Excel Vers. ve Dili
office 2003, sql server
merhaba,
böylemi istedin acaba..
selamlar.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhabalar;
Örneğinizi incelemedim ama hesaplamalar ve bunların kayıtlarını "TABLO" üzerinde yapmayın. Bu gereksiz ve yanlıştır. Yeniyim diyorsanız öncelikle tablo tasarımı ve mantığını kavrayın ondan sonra diğer işlemlere geçin.. İyi bir tasarımınız yoksa dünyanın en iyi kod yazarı da olsanız sorunlardan kurtulamazsınız.
 

gitarisyen

Özel Üye
Katılım
25 Ağustos 2007
Mesajlar
218
Excel Vers. ve Dili
Microsoft Office 2003 Türkçe
merhaba,
böylemi istedin acaba..
selamlar.
Sayın cüneyta;

Zamanınızı ayırırarak yapıp gönderdiğiniz örnek ve açıklamalarınız için çok teşekkür ederim. Üzerinde çalışıp anlamaya çalışıyorum. Yani ben henüz kod yazmasını bilmediğim gibi kodlardan da hiç anlamıyorum. Neyin niye olduğunu anlamaya çalışıyorum. Size gönderdiğim örnekteki =[MİKTAR]-[ÖDENEN] tarzı formulleri de bir kitapta görmüştüm ve aritmetik işlemlerde hep onu kullanıyorum. Sizin açıklamalarınız ve sorumla ilgili çözülmüş bir örneği inceleyip öğrenmeye çalışmak benim öğrenme aşamasındaki yolumu daha da kısaltacak inancındayım.

Benim bana bir şey anlatılmasını isterken hep dediğim bir şey var: "Bana bu konuyu anlayışı kıt bir çocuğa anlatır gibi anlatabilir misiniz?" Ben de anlamış mıyım bir özetleyeyim isterseniz:

Kod:
Private Sub Form_Close()
KALAN = MİKTAR - ÖDENEN
End Sub

Private Sub MİKTAR_Exit(Cancel As Integer)
KALAN = MİKTAR - ÖDENEN
End Sub

Private Sub ÖDENEN_Exit(Cancel As Integer)
KALAN = MİKTAR - ÖDENEN
End Sub
Burada form kapanırken KALAN alanı MİKTAR'dan ÖDENEN'i çıkartacak. Yine MİKTAR ve ÖDENEN alanlarından çıkılırken yine aynı hesaplama yapılacak. Peki bunları yazınca tabloda da işlem yapılıyor da, diğer türlü niye işlem olmuyor onu anlamıyorum. Zamanla mantığını ve niye böyle olduğunu kendim deneyerek yanılarak çözerim umarım.

Tekrar çok değerli yardımınız için çok teşekkür ederim...

beab05' Alıntı:
Merhabalar;
Örneğinizi incelemedim ama hesaplamalar ve bunların kayıtlarını "TABLO" üzerinde yapmayın. Bu gereksiz ve yanlıştır. Yeniyim diyorsanız öncelikle tablo tasarımı ve mantığını kavrayın ondan sonra diğer işlemlere geçin.. İyi bir tasarımınız yoksa dünyanın en iyi kod yazarı da olsanız sorunlardan kurtulamazsınız.
Sayın beab05;

Zamanınızı ayırıp mesaj yazma inceliği gösterdiğiniz ve bana ışık tutacak önerileriniz için çok teşekkür ederim. Yukarıda da dediğim gibi daha çok yeni sayılırım ve Access'te bütün bildiklerim Access'in kendi araç çubuklarında, menülerinde bulunan hazır denetimlerle ve bazı kitaplardan öğrendiğim ufak tefek bilgilerle kendimi geliştirecek, anlamaya çalışacak uygulamalar yapmakla sınırlı... Sizin de haklı olarak belirttiğiniz gibi tablo tasarımını, tablo ilişkilerini ve mantığını halâ kavramaya çalışıyorum. Ama bu arada "bu niye böyle?", "bunu neden yapıyoruz?", "bu neden olmuyor?" gibi sorular da kafama takılınca sormadan edemiyorum.

Bu arada kendime forumla ilgili bir klasör oluşturdum ve burada kendimle ilgili sorulara verilen cevapları ya da önerileri, tavsiyeleri kopyalayıp o klasörde topluyorum. Sizin değerli yorum, öneri ve tavsiyelerinizi de kopyaladım ve bana her zaman yol göstereceğine inanıyorum. İlginiz ve bana yol gösterecek değerli yorumlarınız için çok teşekkür ederim. Sizlerden öğreneceğim çok şey var...
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın gitarisyen,

Öncelikle forumumuza hoş geldiniz. Özenle kullandığınız dil için de teşekkür ederim. Forumda düzgün dil kullanan üyelerin çoğalması forumun kalitesini yükseltiyorlar.

Sorduğunuz bu soruya normal olarak cevap vermemeye karar vermiştim. Çünkü bu konuyla ilgili belki de 30 mesaj yazdım. Ama son defa olarak tekrar edeceğim.

Birçok forum üyesi Excel'i kullanıp, Access'e başladığı için Excel deki yapıya bağlı kalmak istiyor. oysa Access de durum öyle değil. Access bir veritabanı uygulaması olduğu için veri tabanıyla ilgili birçok yardımcıyı içeriyor. Bunlar arasında sorguları ve raporları gösterebiliriz.

Şimdi, veritabanı uygulamalarında hesaplanan alanların kayıtları tablolara kaydedilmezler. Bu tip hesaplamalar, yaptığınız gibi form üstünde kolaylıkla gösterilebilirler. Raporlamada da durum aynı, o zaman artı bir değeri neden kaydedelim? Excel de veri sayısı 65000 ile sınırlı oysa Access de durum öyle değil. Hesaplanan her alan için veritabanına ilave fiziksel bir yer ayrılmasına neden olur. Bu da, genel anlamda masrafa ek yük getirir. Bunun dışında tabloda diyelim ki, en 5m boy 2m olsun ve alan 10 m2 olur. Şimdi siz tabloya bu 10 m2 kaydederseniz ve ilerde birisi tabloya müdahale edip bunu 12 yaparsa veri tutarsızlığına neden olursunuz. Bu yüzden çok zorunlu olmadıkça (neredeyse hiç) bu tip alanların kaydedilmesi ile zaman harcamayın.

İyi çalışmalar:)
 
Katılım
14 Ağustos 2007
Mesajlar
291
Excel Vers. ve Dili
office 2003, sql server
Mehaba, sayın gitarisyen,
sayın modalı ve beab arkadaşlarıma ilaveten;
formda siz şöyle yapmıştınız; KALAN alanının denetim kutusundan veri girilecek veya göstercek tablo alanını kaldırıp, kendiniz oraya formül yazmışsınız. Yani demek istemiştiniz ki Benim tabloya kaydedilecek veriye ihtiyacım yok sadece formda gösterse yeter. Sizin ilk yaptığınız öyleydi.. Ama normalde siz öyle yapmak istememiştiniz; Demiştiniz ki ikisinin toplamını KALAN a yazsın, öyle istemenize rağmen KALAN alanının denetim kutusundan tabloya ait alanı kaldırıp oraya formül koymuştunuz. Bu durumda tablonuza ait KALAN a kaydetmeyecek sadece size gösterecekti. bunu ancak formülle veya deyimle veya makroyla halledebilrdik..
yani VBA kodlarıyla çalışmak çok ama çok büyük rahatlık.. zamanla göreceksiniz.. takıldığınız her konuda her zaman için size yardımcı olmak beni mutlu eder... mailim : cuneytaydin75@yahoo.com.tr
saygılar..
 
Katılım
7 Ocak 2005
Mesajlar
205
Excel Vers. ve Dili
office 2003 pro türkçe
Selamlar
İşlem sonuçlarının tabloda tutulmasının mahzurlarını anlatmışsınız.
Fakat raporlamada tabloda tutulmayan işlem sonuçlarında sorun çıkıyor
Raporda oluşrulup içine formüller yerleştirilen kutular üzerinde sıralama yapmıyor. tablodan gelen bilgilerde sıralama yapıyor. Bu durumda
işlem sonuçlarını tablodan almak gerekmez mi?
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın herdogan,

Sorgular ne işe yarıyor o zaman. Tabloyu sorguya taşıyın, hesaplamayı orada yapın, ve hesaplama sütununu artan sıralı olarak ayarlayın. Raporu bu sorguya dayandırın.

Bir de garibime giden bir olay var bu konuya verdiğim son cevap bir daha bu konuda hiçbi soruya cevap vermeyeceğim. Bu kadar yabancı forum dolaşıyorum bu kadar örnek inceledim ne bununla ilgili ne soru var ne de örnek. Bu forumda haftada iki üç soru soruluyor hepsine aynı cevabı veriyorum ve tekrar soruluyor.

Herkese iyi çalışmalar
 
Katılım
14 Ağustos 2007
Mesajlar
291
Excel Vers. ve Dili
office 2003, sql server
Selamlar
İşlem sonuçlarının tabloda tutulmasının mahzurlarını anlatmışsınız.
Fakat raporlamada tabloda tutulmayan işlem sonuçlarında sorun çıkıyor
Raporda oluşrulup içine formüller yerleştirilen kutular üzerinde sıralama yapmıyor. tablodan gelen bilgilerde sıralama yapıyor. Bu durumda
işlem sonuçlarını tablodan almak gerekmez mi?
o zaman şöyle yapılır sanırım, rapor verilerini sorgudan alınır, sorgu içinde formül alanı eklenir ve orada sıralama yaptırılır, rapor direkt sorgudaki sıralamayı görür..
saygılar..
 
Katılım
24 Aralık 2005
Mesajlar
4
Cüneyt bey inceliğiniz ve kibarlığınız için nekadar teşekkür etsek azdır.
şuana kadarki yardımlarınız için çok teşekkürler, demişsinizki ;
"takıldığınız her konuda her zaman için size yardımcı olmak beni mutlu eder... "
yani iyiliğiniz karşısında hislerimi anlatamaya kelimeler yetersiz kalıyor.
lütfen bize sabırla yardımcı olun. maalesef elimizden gelen bir kuru teşekkür.
 
Üst