Değerli büyüklerim, değerli ustalarım iyi akşamlar.
excel makro ile acces veri tabanından parça numarasına göre ilgili parça için en son kayıtlı veriyi çekiyorum ancak tanım ve fiyat en son kayıtlı parça numarasına göre veri çekmiyor ve order by desc komutu ile en son kayıt satırını en üste alamıyorum.
Saygı ve sevgiyle yardımınızı rica ederim değerli ustalarım
Sorgulama yaptığım kodlar:
Sub stok_listeleme_yap_benzersiz_tüm_listeme_metodu()
Application.ScreenUpdating = False
On Error Resume Next
sorgu = "SELECT stok.parça_kodu, last(stok.parça_adı), last(stok.parça_satış_fiyatı), sum(stok.adet), last(stok.işlem_türü), Max(stok.İŞLEM_KAYIT_TARİHİ) AS EnÇokTARİH FROM stok where işlem_türü in ('mal girişi', 'mal çıkışı', 'düzeltme') GROUP BY stok.parça_kodu;"
Call database_open
Set DataKayitlari = DataBaglan.OpenRecordset(sorgu, dbOpenSnapshot)
Cells(8, "b").CopyFromRecordset DataKayitlari
Call database_close
Set DataKayitlari = Nothing
Set DataBaglan = Nothing
Application.ScreenUpdating = True
End Sub
Accesden last işlevi en son veriyi getirememe sorunu.
-
- Mesajlar: 15
- Kayıt: Pzt Haz 26, 2023 10:57 pm
- Lokasyon: MERSİN- YENİŞEHİR
- Meslek: Depo İşçisi (Elleçleme)
- Adınız: Erdem
- Soyadınız: DAĞ
-
- Mesajlar: 28
- Kayıt: Cmt Tem 08, 2023 12:56 am
- Meslek: Yazılım Uygulama ve Destek Elemanı
- Adınız: Zulkarneyin
- Soyadınız: Albayrak
Re: Accesden last işlevi en son veriyi getirememe sorunu.
Bu şekilde denermisiniz,
Sub stok_listeleme_yap_benzersiz_tüm_listeme_metodu()
Application.ScreenUpdating = False
On Error Resume Next
sorgu = "SELECT stok.parça_kodu, stok.parça_adı, stok.parça_satış_fiyatı, sum(stok.adet), stok.işlem_türü, Max(stok.İŞLEM_KAYIT_TARİHİ) AS EnÇokTARİH FROM stok WHERE işlem_türü IN ('mal girişi', 'mal çıkışı', 'düzeltme') GROUP BY stok.parça_kodu;"
Call database_open
Set DataKayitlari = DataBaglan.OpenRecordset(sorgu, dbOpenSnapshot)
Do Until DataKayitlari.EOF
parça_kodu = DataKayitlari("parça_kodu")
sorgu2 = "SELECT TOP 1 parça_adı, parça_satış_fiyatı FROM stok WHERE işlem_türü IN ('mal girişi', 'mal çıkışı', 'düzeltme') AND parça_kodu='" & parça_kodu & "' ORDER BY İŞLEM_KAYIT_TARİHİ DESC;"
Set DataKayitlari2 = DataBaglan.OpenRecordset(sorgu2, dbOpenSnapshot)
Cells(8, "b").Value = DataKayitlari2("parça_adı")
Cells(8, "c").Value = DataKayitlari2("parça_satış_fiyatı")
DataKayitlari.MoveNext
Loop
Call database_close
Set DataKayitlari = Nothing
Set DataBaglan = Nothing
Application.ScreenUpdating = True
MsgBox "Sorgun Oluşturuldu.", vbInformation, "İşlem Tamamlandı", "Umarım sorununuz düzelmiştir."
End Sub
Sub stok_listeleme_yap_benzersiz_tüm_listeme_metodu()
Application.ScreenUpdating = False
On Error Resume Next
sorgu = "SELECT stok.parça_kodu, stok.parça_adı, stok.parça_satış_fiyatı, sum(stok.adet), stok.işlem_türü, Max(stok.İŞLEM_KAYIT_TARİHİ) AS EnÇokTARİH FROM stok WHERE işlem_türü IN ('mal girişi', 'mal çıkışı', 'düzeltme') GROUP BY stok.parça_kodu;"
Call database_open
Set DataKayitlari = DataBaglan.OpenRecordset(sorgu, dbOpenSnapshot)
Do Until DataKayitlari.EOF
parça_kodu = DataKayitlari("parça_kodu")
sorgu2 = "SELECT TOP 1 parça_adı, parça_satış_fiyatı FROM stok WHERE işlem_türü IN ('mal girişi', 'mal çıkışı', 'düzeltme') AND parça_kodu='" & parça_kodu & "' ORDER BY İŞLEM_KAYIT_TARİHİ DESC;"
Set DataKayitlari2 = DataBaglan.OpenRecordset(sorgu2, dbOpenSnapshot)
Cells(8, "b").Value = DataKayitlari2("parça_adı")
Cells(8, "c").Value = DataKayitlari2("parça_satış_fiyatı")
DataKayitlari.MoveNext
Loop
Call database_close
Set DataKayitlari = Nothing
Set DataBaglan = Nothing
Application.ScreenUpdating = True
MsgBox "Sorgun Oluşturuldu.", vbInformation, "İşlem Tamamlandı", "Umarım sorununuz düzelmiştir."
End Sub
-
- Mesajlar: 15
- Kayıt: Pzt Haz 26, 2023 10:57 pm
- Lokasyon: MERSİN- YENİŞEHİR
- Meslek: Depo İşçisi (Elleçleme)
- Adınız: Erdem
- Soyadınız: DAĞ
Re: Accesden last işlevi en son veriyi getirememe sorunu.
Merhaba islakates değerli ustam.
Dediğiniz şekilde denedim bilgisayar dondu excel kapandı.
Ricam başka bir metodu varsa desteğinizi sizden ve değerli uslarımdan rica ediyorum
Dediğiniz şekilde denedim bilgisayar dondu excel kapandı.
Ricam başka bir metodu varsa desteğinizi sizden ve değerli uslarımdan rica ediyorum
-
- Mesajlar: 28
- Kayıt: Cmt Tem 08, 2023 12:56 am
- Meslek: Yazılım Uygulama ve Destek Elemanı
- Adınız: Zulkarneyin
- Soyadınız: Albayrak
Re: Accesden last işlevi en son veriyi getirememe sorunu.
Şanslısın, veri tabanı da dona bilirdi, bilgisayarınız hiç açılmaya bilirdi..
sorgu = "SELECT stok.parça_kodu, Max(stok.parça_adı), Max(stok.parça_satış_fiyatı), Sum(stok.adet), Max(stok.işlem_türü), Max(stok.İŞLEM_KAYIT_TARİHİ) AS EnÇokTARİH FROM stok WHERE işlem_türü IN ('mal girişi', 'mal çıkışı', 'düzeltme') GROUP BY stok.parça_kodu ORDER BY Max(stok.İŞLEM_KAYIT_TARİHİ) DESC;"
sorgu = "SELECT stok.parça_kodu, Max(stok.parça_adı), Max(stok.parça_satış_fiyatı), Sum(stok.adet), Max(stok.işlem_türü), Max(stok.İŞLEM_KAYIT_TARİHİ) AS EnÇokTARİH FROM stok WHERE işlem_türü IN ('mal girişi', 'mal çıkışı', 'düzeltme') GROUP BY stok.parça_kodu ORDER BY Max(stok.İŞLEM_KAYIT_TARİHİ) DESC;"
-
- Mesajlar: 15
- Kayıt: Pzt Haz 26, 2023 10:57 pm
- Lokasyon: MERSİN- YENİŞEHİR
- Meslek: Depo İşçisi (Elleçleme)
- Adınız: Erdem
- Soyadınız: DAĞ
Re: Accesden last işlevi en son veriyi getirememe sorunu.
max ile en büyük değerler geldi olmadı değerli ustam.
İslakates bey desteğiniz için teşekkür ederim efendim.
Saygılar, iyi akşamlar.
İslakates bey desteğiniz için teşekkür ederim efendim.
Saygılar, iyi akşamlar.
-
- Benzer Konular
- Cevaplar
- Görüntüleme
- Son mesaj
-
- 1 Cevaplar
- 1909 Görüntüleme
-
Son mesaj gönderen malitogan
-
- 2 Cevaplar
- 1443 Görüntüleme
-
Son mesaj gönderen islakates
-
- 2 Cevaplar
- 3512 Görüntüleme
-
Son mesaj gönderen erdemdag34
-
- 13 Cevaplar
- 3314 Görüntüleme
-
Son mesaj gönderen erdemdag34
-
- 0 Cevaplar
- 1043 Görüntüleme
-
Son mesaj gönderen erdemdag34