Toplamı Yazıdırmak

1 2
03/01/2016, 15:36

nightashes

Merhaba arkadaşlar,

Öncelikle Access e yeni başladığımı belirtmek isterim. 2 gündür tüm uğraşlarıma rağmen basit bir işlem yaptıramadım. Sorum şu 2 farklı tablom var. 1. tabloda sabit giderleri yazdım.
sıra no tanım tutar
1 kira 1000 TL
2 araba 1500 TL
3 maaşlar 3000 TL

2. tablonın kullandığı bir form yaptım. formda metin kutularına yazdıklarım tabloya geliyor fakat 2. tablodaki sabit giderler toplamı alanına sabit giderlerin toplamını çekmek istiyorum bir türlü beceremedim.

dolar kuru tonaj sabit giderler toplamı birim maliyet
??? bu alana toplam gelsin istiyorum

nasıl yapacağım konusunda yardımcı olursanız sevinirim.
iyi çalışmalar.
03/01/2016, 15:40

ozguryasin

dlocuup, column, ADO, DAO ve şu an aklıma gelmeyen en az 4-5 yöntem le dahi çekebilirisiniz.

sanırım yardımcı oldum
öncelikle hoş geldiniz. ilk baş Site Kurallarını okumanızı tavsiye ederim. ve sorunuzu örnek bir uygulama ile. şurada şunu yapmak istiyorum gibi. basit bir anlatımla sormanız sizin cevap alma konusunda hız kazandıracaktır.
03/01/2016, 18:54

nightashes

Örnek dosyayı ekledim Seçenekler tablosuna Sabit giderler tablosundan girdiğim giderlerin toplamını yazdırmak istiyorum. Fakat bunu VB de değilde nasıl olacağını en basit yöntem ile anlatırsanız sevinirim. İşin giriş aşamasında olduğum için mantığını anlamak ve öğrenmek istiyorum. Saygılar.
03/01/2016, 19:48

ozguryasin

merhaba; tablo adları, alan adları, form adlarında Türkçe karakter kullanmayınız, ayrıca boşlukta bırakmayınız. sitemizde bulunan yapılmaması gereken ölümcül hataları okuyunuz. dediğiniz gibi yaptım. tabloda birim maliyet, hesaplanmış yapmışsınız düzeltip.  vba kod bölümüne yazdım.

Me.BirimMaliyet = Me.SabitGiderler / (Me.Tonaj * 40) satırındaki
Me.BirimMaliyet = Me.SabitGiderler / Me.Tonaj * 40

(me.tonaj*40) içinde olması farklı tutar çıkartır.
onu dikkate alıp düzeltmenizi yapınız.


geri bildirimde bulununuz.

Kod:
Dim SoRGu As String
Dim rS As New ADODB.Recordset

SoRGu = "SELECT Sum(SabitGiderler.Tutar) AS ToplaTutar FROM SabitGiderler;"

rS.Open SoRGu, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

Me.SabitGiderler = rS!toplatutar
Me.BirimMaliyet = Me.SabitGiderler / (Me.Tonaj * 40)

rS.Close: Set rS = Nothing
03/01/2016, 19:56

nightashes

(03/01/2016, 19:48)ozguryasin yazdı: merhaba; tablo adları, alan adları, form adlarında Türkçe karakter kullanmayınız, ayrıca boşlukta bırakmayınız. sitemizde bulunan yapılmaması gereken ölümcül hataları okuyunuz. dediğiniz gibi yaptım. tabloda birim maliyet, hesaplanmış yapmışsınız düzeltip.  vba kod bölümüne yazdım.

Me.BirimMaliyet = Me.SabitGiderler / (Me.Tonaj * 40) satırındaki
Me.BirimMaliyet = Me.SabitGiderler / Me.Tonaj * 40

(me.tonaj*40) içinde olması farklı tutar çıkartır.
onu dikkate alıp düzeltmenizi yapınız.


geri bildirimde bulununuz.


Kod:
Dim SoRGu As String
Dim rS As New ADODB.Recordset

SoRGu = "SELECT Sum(SabitGiderler.Tutar) AS ToplaTutar FROM SabitGiderler;"

rS.Open SoRGu, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

Me.SabitGiderler = rS!toplatutar
Me.BirimMaliyet = Me.SabitGiderler / (Me.Tonaj * 40)

rS.Close: Set rS = Nothing

Cevabınız için teşekkür ederim. Peki bunu vb kod yazmadan halletmenin yolu var mıdır. sorgu yaparak Sql tasarımda yazarak insert into yada update komutu ile veya sum Dsum gibi komutlar kullanarak.

Öğrenmek için baya kurcaladım. Güncelleştirme sorgusu ekleme sorgu gibi ama becerememiştim. Ukalalık etmek için değil birşeyler öğrenebilmek için soruyorum. Tekrar teşekkür ederim.
03/01/2016, 20:02

ozguryasin

programcılıkta bir değil birden fazla çözüm yolu vardır. benim yaptığım ado ve sorgu bir arada kullanılmış şeklidir. sadece ADO ile yapmış olsak 3-5 satırdaha olacaktı. önce sorgu ile toplam aldırdım. sonra bu toplama ado ile bağlandım ve metin kutusuna aktardım. update sorgusu ile yapmak isteseniz hemen hemen yine aynı satırlarda işlem gerçekleşecek. belkide daha fazla. ama şu var. direkt sorgulardan metin kutularına atmalarda biraz zorluklar yaşanmakta. dediğiniz olay ayrıca
DSUM ve Dlookup kullanılarakta yapılmakta.
DSUM ile toplama yaptırılıp Dlookup ile çıkan toplam aktarılmaktadır. bana kolay geldiği için ADO kullanmayı tercih ediyorum. ayrıca internet üzerinden çalışan yazılımlarda sorunsuz bir şekilde çalışmakta.
1 2