Skip to main content

AccessTr.neT


Bilgi Çağırma

Bilgi Çağırma

Çözüldü #1
Merhaba. Herkese iyi akşamlar. Konunu başlık adını ne yapacağımı bilemedim ve aklıma ilk geleni yazdım.Sorum şu ki bir arkadaşla akaryakıt hesap programı tasarladık. İlk kullanımda sorunsuzdu ancak ikinci kullanımda eksiklik baş gösterdi ve çözemedim. Sorun Access veri tabanında kaydı yapılan alımların ileri ki adımlarda kullanılması gerektiğinden bu dönem yapılacak akaryakıt ödemesinde miktar ve tutar için bir önceki dönem bilgilerini ayarlamak oldu.

Yani;1-Toplam hakediş miktarı 30 lt, bu dönem 30 lt, bir önceki dönem 0 (Bu ilk alış).
      2-Toplam hakediş miktarı 50 lt, bu dönem 20 lt, bir önceki dönem 30 lt(İkinci alış).
      3-Toplam hakediş miktarı 80 lt, bu dönem 30 lt, bir önceki dönem 20 lt (Üçüncü alış)

Program toplam hakedişi getiriyor ama genele uygulamak gerektiğinde bir önceki dönemi nasıl getireceğimi bir türlü bulamadım. Yani bu dönem hesabı yaparken aslında bir önceki dönemde alım yapılan miktar ve tutar lazım ama nasıl gelecek yapamadım.
Bunlara ne gerek var demeyin malmüdürlüğü ihale ile yapılan işlerde bir sürü form istiyor ve bu bilgilerde o formlarda yer alıyor ondan. Ayrıca ekte verdiğim excelde yapılan işler listesinde de görülüyor. her ödemede bir önceki dönem miktar ve ücret bilgileri yazılmalı.  Programın tamamını yayınlamak istemedim. Sadece kodu yazıyorum. Bir beyin fırtınası yapsak sizce bir önceki dönem akaryakıt miktarını program nasıl çeker. Yardım ederseniz sevinirim. Kabaca o iş olmaz deseniz belki biraz daha hırs gelir başka çarelere bakarı. Şimdiden teşekkürler.

PHP Kod:
Private Sub Pt_Benzin_Hakedis_Click()
Dim ba As Double 'Benzin Teklif Birim Fiatı
Dim bb As Double '
Benzin Toplam Hakediş Miktarı
Dim bc 
As Double 'Benzin Önceki Dönem Hakediş Miktarı
Dim bd As Double '
Benzin Bu Dönem Hakediş Miktarı
Dim be 
As Double 'Benzin Toplam Hakediş Tutarı
Dim bf As Double '
Benzin Önceki Dönem Hakediş Tutarı
Dim bg 
As Double 'Benzin Bu Dönem Hakediş Tutarı
Dim bha As Double '
Toplam Benzin Fiat Farkı Tutarı
Dim bhb 
As Double 'Önceki Dönem Benzin Fiat Farkı Tutarı
Dim bh As Double '
Benzin Fiat Farkı Tutarı
Dim bı 
As Double 'Benzin Ödenecek Hakediş Tutarı
Dim ma As Double '
Motorin Teklif Birim Fiatı
Dim mb 
As Double 'Motorin Toplam Hakediş Miktarı
Dim mc As Double '
Motorin Önceki Dönem Hakediş Miktarı
Dim md 
As Double 'Motorin Bu Dönem Hakediş Miktarı
Dim ne As Double '
Motorin Toplam Hakediş Tutarı
Dim mf 
As Double 'Motorin Önceki Dönem Hakediş Tutarı
Dim mg As Double '
Motorin Bu Dönem Hakediş Tutarı
Dim mha 
As Double 'Toplam Motorin Fiat Farkı Tutarı
Dim mhb As Double '
Önceki Dönem Motorin Fiat Farkı Tutarı
Dim mh 
As Double 'Motorin Fiat Farkı Tutarı
Dim mı As Double '
Motorin Ödenecek Hakediş Tutarı
'Dim k As Integer 'Kümülatif Toplam Hakediş Tutarı
'Dim n As Integer 'Kümülatif Önceki Dönem Hakediş Tutarı
'Dim m As Integer 'Kümülatif Bu Dönem Hakediş Tutarı
MsgBox 
"Lütfen Akaryakıt Teslim Tarihi Fiyatını Tümünü Giriniz"vbExclamation vbOKOnly"Hatırlatma!!!"
 
    If IsNull(Alinan_Sira_No) Or IsNull(İhale_Tarih) Or IsNull(B_İhale_Tarih_Fiati) Or IsNull(M_İhale_Tarih_Fiati) Or IsNull(Sozlesme_Tarih) Or IsNull(B_Sozlesme_Tarih_Fiati) Or IsNull(M_Sozlesme_Tarih_Fiati) Or IsNull(Akaryakit_Sirketi) Or IsNull(Alinan_Benzin) Or IsNull(Alinan_MotorinThen
MsgBox 
"Lütfen Zorunlu Alanları Boş Bırakmayınız"vbExclamation vbOKOnly"İşlem Hatası"
If IsNull(Me.ILKTARIHThen MsgBox "Lütfen Raporun Başlanğıç Tarihini Giriniz."48"Eksik Kayıt"Me.ILKTARIH.SetFocus: Exit Sub
If IsNull(Me.SONTARIHThen MsgBox "Lütfen Raporun Bitiş Tarihini Giriniz."48"Eksik Kayıt"Me.SONTARIH.SetFocus: Exit Sub
 
For Each Kontrol_edilen In Me
    If Kontrol_edilen
.Tag "kilitli" Then
    Kontrol_edilen
.Enabled True
    End 
If
 
   Next Kontrol_edilen
    ILKTARIH
.SetFocus
   
Else
 
  On Error GoTo Hatayakala
   DoCmd
.OpenReport "Benzin_Fiat_Listesi"acViewPreview""""acNormal
DoCmd
.OpenReport "Motorin_Fiat_Listesi"acViewPreview""""acNormal
   DoCmd
.OpenForm "Hakedis"
 
 For Each Denetim In Me
If Denetim.Tag "kilitli" Then
Denetim
.Enabled True
End 
If
Next Denetim
DoCmd
.GoToRecord , , acNewRec
ba 
Me.B_Sozlesme_Tarih_Fiati
ba 
Round(ba3)
Form_Hakedis.Txt_B_Teklif_Birim_Fiatı ba
'MsgBox "ba= " & ba, vbExclamation + vbOKOnly, "İşlem Hatası"
bb = DSum("[Benzin]", "Hakedis_Akaryakit_Sorgu")
bb = Round(bb, 2)
'
MsgBox "bb= " bbvbExclamation vbOKOnly"İşlem Hatası"
Form_Hakedis.Txt_B_T_Hakedis_Miktarı bb
bd 
DSum("[Benzin]""Hakedis_Akaryakit_Sorgu""[Hakedis_Yapıldı]=0")
bd Round(bd2)
'MsgBox "bd= " & bd, vbExclamation + vbOKOnly, "İşlem Hatası"
Form_Hakedis.Txt_B_D_Hakedis_Miktarı = bd
bc = bb - bd
'
bc DSum("[Benzin]""Hakedis_Akaryakit_Sorgu""[Hakedis_Yapıldı]='1'")
'MsgBox "bc= " & bc, vbExclamation + vbOKOnly, "İşlem Hatası"
Form_Hakedis.Txt_B_Ö_Hakedis_Miktarı = bc
be = ba * bb
be = Round(be, 2)
Form_Hakedis.Txt_B_T_Hakedis_Tutarı = be
'
MsgBox "be= " bevbExclamation vbOKOnly"İşlem Hatası"
bf ba bc
bf 
Round(bf2)
Form_Hakedis.Txt_B_Ö_Hakedis_Tutarı bf
'MsgBox "bf= " & bf, vbExclamation + vbOKOnly, "İşlem Hatası"
bg = ba * bd
bg = Round(bg, 2)
Form_Hakedis.Txt_B_D_Hakedis_Tutarı = bg
'
MsgBox "bg= " bgvbExclamation vbOKOnly"İşlem Hatası"
bha DSum("[Fiat_Farkı]""Srg_Benzin_Fiat_Listesi_Toplam")
bha Round(bha2)
'MsgBox "bha= " & bha, vbExclamation + vbOKOnly, "İşlem Hatası"
bh = DSum("[Fiat_Farkı]", "Srg_Benzin_Fiat_Listesi", "[Hakedis_Yapıldı]=0")
bh = Round(bh, 2)
Form_Hakedis.Txt_B_Fiat_Farkı = bh
bhb = bha - bh
bhb = Round(bhb, 2)
Form_Hakedis.Txt_Ö_D_B_Fiat_Farkı = bhb
'
MsgBox "bh= " bhvbExclamation vbOKOnly"İşlem Hatası"
bı bg bh
bı 
Round(2)
Form_Hakedis.Txt_B_Toplam_Hakedis_Tutarı 
'MsgBox "bı= " & bı, vbExclamation + vbOKOnly, "İşlem Hatası"
ma = Me.M_Sozlesme_Tarih_Fiati
ma = Round(ma, 3)
Form_Hakedis.Txt_M_Teklif_Birim_Fiatı = ma
'
MsgBox "ma= " mavbExclamation vbOKOnly"İşlem Hatası"
mb DSum("[Motorin]""Hakedis_Akaryakit_Sorgu")
mb Round(mb2)
'MsgBox "mb= " & mb, vbExclamation + vbOKOnly, "İşlem Hatası"
Form_Hakedis.Txt_M_T_Hakedis_Miktarı = mb
md = DSum("[Motorin]", "Hakedis_Akaryakit_Sorgu", "[Hakedis_Yapıldı]=0")
'
MsgBox "md= " mdvbExclamation vbOKOnly"İşlem Hatası"
md Round(md2)
Form_Hakedis.Txt_M_D_Hakedis_Miktarı md
mc 
mb md
'mc = DSum("[Motorin]", "Hakedis_Akaryakit_Sorgu", "[Hakedis_Yapıldı]='1'")
'
MsgBox "mc= " mcvbExclamation vbOKOnly"İşlem Hatası"
mc Round(mc2)
Form_Hakedis.Txt_M_Ö_Hakedis_Miktarı mc
ne 
ma mb
ne 
Round(ne2)
Form_Hakedis.Txt_M_T_Hakedis_Tutarı ne
'MsgBox "ne= " & ne, vbExclamation + vbOKOnly, "İşlem Hatası"
mf = ma * mc
mf = Round(mf, 2)
Form_Hakedis.Txt_M_Ö_Hakedis_Tutarı = mf
'
MsgBox "mf= " mfvbExclamation vbOKOnly"İşlem Hatası"
mg ma md
mg 
Round(mg2)
Form_Hakedis.Txt_M_D_Hakedis_Tutarı mg
'MsgBox "mg= " & mg, vbExclamation + vbOKOnly, "İşlem Hatası"
mha = DSum("[Fiat_Farkı]", "Srg_Motorin_Fiat_Listesi_Toplam")
mha = Round(mha, 2)
'
MsgBox "mha= " mhavbExclamation vbOKOnly"İşlem Hatası"
mh DSum("[Fiat_Farkı]""Srg_Motorin_Fiat_Listesi""[Hakedis_Yapıldı]=0")
mh Round(mh2)
Form_Hakedis.Txt_M_Fiat_Farkı mh
mhb 
mha mh
mhb 
Round(mhb2)
Form_Hakedis.Txt_Ö_D_M_Fiat_Farkı mhb
'MsgBox "mh= " & mh, vbExclamation + vbOKOnly, "İşlem Hatası"
mı = mg + mh
mı = Round(mı, 2)
Form_Hakedis.Txt_M_Toplam_Hakedis_Tutarı = mı
'
MsgBox "bı= " vbExclamation vbOKOnly"İşlem Hatası"
Tutanak "         Müdürlüğümüz hizmetlerinde kullanılan araçların akaryakıt ihtiyaçlarını karşılamak için " Me.[İhale_Tarih] & " tarihinde yapalan ihaleyi kazanan " Me.[Akaryakıt_Sirketi] & " Akaryakıt istasyonundan " Day((Me.[ILKTARIH])) & " - " Me.SONTARIH " tarihleri arasında " md " litre motorin, " bd " litre 95 Oktan kurşunsuz benzin hizmet araçlarımıza alınmış olup;"
Txt_Tutanak Tutanak
DoCmd
.OpenReport "Rpr_Muayene_Komisyon_Tutanağı"acViewPreview""""acNormal

If Err.Number 94 Then
Hatayakala
:
MsgBox "Hakediş Hesaplanacak Akaryakıt Kullanılmamıştır"vbExclamation vbOKOnly"İşlem Hatası"
Exit Sub
Else
End If
End If
End Sub 
.7z ÖDEME EVRAKLARI.7z (Dosya Boyutu: 10,74 KB | İndirme Sayısı: 8)
Cevapla
#2
Merhaba,

https://accesstr.net/konu-raporda-yuruyen-bakiye.html
https://accesstr.net/konu-yuruyen-bakiye--82346.html
https://accesstr.net/konu-sorguda-yuruye...orunu.html
https://accesstr.net/konu-yuruyen-bakiye.html
https://accesstr.net/konu-access-tablo-v...akiye.html
https://accesstr.net/konu-access-yuruyen...orunu.html

Bağlantılardaki konular yardımcı olmaz ise Access ile hazırladığınız örneği ekleyiniz.
Cevapla
#3
Örneklere bakıyorum ama sabaha kadar uyuyamadım sanırım burda kalacak program başım çok ağrıdı artık sadece bakıyorum. Sakin kafa ile ilerleyen bir zamanda bakayım. İlginize teşekkürler.
Cevapla
#4
Merhaba, yazdığım bağlantılarda anlatılanları uygulayamadıysanız lütfe bilgi veriniz.
Cevapla
#5
verdiğiniz linklerdeki bağlantıların benim sorum ile alakalı olup olmadığını çıkaramadım ne yazık ki. Programı yapan arkadaşta şuan olmadığından yapamadım. Ben accesten fazla anlamadığımdan yapamadım ne yazık ki. Bu şekilde kalacak sanırım ne yazık ki konuyu kapatalım.
Cevapla
#6
Sayın @270598, eklediğiniz örnek Excel belgesi, sorunuz Access sorusu. Benzeri çözümleri içeren konuları paylaşmak dışında yapabileceğim birşey yok malesef.
Tablo yapısının incelenmesi lazım. Uygulamanızdaki gerçek verileri silip sadece ilgili tablo, sorgu ve formu içeren örnek uygulamanızı ekleyiniz.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task