23/07/2019, 08:47
hbal09
Merhabalar, Ms Access tabanlı programını MS Sql tabanına dönüştürme çalışması yapıyorum, arayüzüm yine Ms Access olacak.
Siparişlerim ile mevcut saha stokları değerlendirip stoktan sevk edilebilecek siparişleri listelemek istiyorum, halihazırda Access tabanlı çalışan programda yaptığım birleşim sorgusu problemsiz çalışıyorken Ms Sql tabanlı olduğunda birleşim sorgusu hata veriyor.
Veritabanı MS Sql olduğu için veritabanını ekleyemiyorum ama arayüz dosyasını ekledim.
Problemim şu:
MSR1 (Müşteri sipariş rezerv-1) sorgusu ile stoktan sevk miktarı girilmiş sipariş kalemleri için sevk miktarlarına göre rezerv bilgilerini tespit ediyoruz. Sorgusu şu şekilde:
MSR2 (Müşteri sipariş rezerv-2) sorgusu ile MSR1 sorgu sonuçlarını gruplandırarak net rezervi ortaya koyuyoruz. Sorgusu şu şekilde:
SSD1 (Saha Stok Durum-1) sorgusu ile üretilen ve sevk edilen ürünlere göre saha stokta yeralan müşterile-müşterisiz tüm ürünleri gruplandırarak listeliyoruz. Sorgusu şu şekilde:
Burdan sonrasında sipariş bilgileri ile saha stok bilgilerini bir birleşim sorgusuyla birleştirmem gerekiyor. Bunu da SSD1MSR2 adında bir birleşim sorgusuyla yapıyorum. Sql kodları şöyle:
Yukarıdaki sorguların hepsi Ms Access veritabanı kullanıldığında problemsiz çalışıyor ancak veritabanı MS Sql olunca Access arayüzünde yaptığım yukarıdaki sorgulardan MSR1, MSR2, SSD1 Seçme sorgularında problem yok ama SSD1MSR2 Birleşim sorgusunu çalıştırmak istediğimde ekteki resimde yeralan hata mesajını alıyorum:
Sizce nerede hata yapıyorum.
Siparişlerim ile mevcut saha stokları değerlendirip stoktan sevk edilebilecek siparişleri listelemek istiyorum, halihazırda Access tabanlı çalışan programda yaptığım birleşim sorgusu problemsiz çalışıyorken Ms Sql tabanlı olduğunda birleşim sorgusu hata veriyor.
Veritabanı MS Sql olduğu için veritabanını ekleyemiyorum ama arayüz dosyasını ekledim.
Problemim şu:
MSR1 (Müşteri sipariş rezerv-1) sorgusu ile stoktan sevk miktarı girilmiş sipariş kalemleri için sevk miktarlarına göre rezerv bilgilerini tespit ediyoruz. Sorgusu şu şekilde:
Kod:
SELECT "STOK" AS SAHA_MUSTERI, dbo_SIPARIS_LISTE.LISTE_URUN_UST_ADI AS SAHA_URUN_UST_ADI, dbo_SIPARIS_LISTE.LISTE_URUN_KOD AS SAHA_URUN_KOD, dbo_SIPARIS_LISTE.LISTE_URUN AS SAHA_URUN, dbo_SIPARIS_LISTE.LISTE_RENK AS SAHA_RENK, dbo_SIPARIS_LISTE.LISTE_ADET, dbo_SIPARIS_LISTE.LISTE_STOKTAN_ADET, dbo_SIPARIS_LISTE.LISTE_TOPLAM_SEVKEDILEN, dbo_SIPARIS_LISTE.LISTE_SEVK_KALAN, IIf([LISTE_SEVK_KALAN]>=[LISTE_STOKTAN_ADET],[LISTE_STOKTAN_ADET],[LISTE_SEVK_KALAN]) AS REZERV, dbo_SIPARIS_LISTE.LISTE_KIMLIK, dbo_SIPARIS_LISTE.SIPARIS_NO
FROM dbo_SIPARIS_LISTE
WHERE (((dbo_SIPARIS_LISTE.LISTE_STOKTAN_ADET)>0));
MSR2 (Müşteri sipariş rezerv-2) sorgusu ile MSR1 sorgu sonuçlarını gruplandırarak net rezervi ortaya koyuyoruz. Sorgusu şu şekilde:
Kod:
SELECT MSR1.SAHA_MUSTERI, MSR1.SAHA_URUN_UST_ADI, MSR1.SAHA_URUN_KOD, MSR1.SAHA_URUN, MSR1.SAHA_RENK, Sum(MSR1.REZERV) AS NET_REZERV, 0 AS Kalan
FROM MSR1
GROUP BY MSR1.SAHA_MUSTERI, MSR1.SAHA_URUN_UST_ADI, MSR1.SAHA_URUN_KOD, MSR1.SAHA_URUN, MSR1.SAHA_RENK;
SSD1 (Saha Stok Durum-1) sorgusu ile üretilen ve sevk edilen ürünlere göre saha stokta yeralan müşterile-müşterisiz tüm ürünleri gruplandırarak listeliyoruz. Sorgusu şu şekilde:
Kod:
SELECT dbo_SAHA_STOK_DURUM.SAHA_MUSTERI, dbo_SAHA_STOK_DURUM.SAHA_URUN_UST_ADI, dbo_SAHA_STOK_DURUM.SAHA_URUN_KOD, dbo_SAHA_STOK_DURUM.SAHA_URUN, dbo_SAHA_STOK_DURUM.SAHA_RENK, (Sum([dbo_SAHA_STOK_DURUM].[SAHA_ADET_GIREN]))-(Sum([dbo_SAHA_STOK_DURUM].[SAHA_ADET_CIKAN])) AS Kalan, 0 AS NET_REZERV
FROM dbo_SAHA_STOK_DURUM
GROUP BY dbo_SAHA_STOK_DURUM.SAHA_MUSTERI, dbo_SAHA_STOK_DURUM.SAHA_URUN_UST_ADI, dbo_SAHA_STOK_DURUM.SAHA_URUN_KOD, dbo_SAHA_STOK_DURUM.SAHA_URUN, dbo_SAHA_STOK_DURUM.SAHA_RENK;
Burdan sonrasında sipariş bilgileri ile saha stok bilgilerini bir birleşim sorgusuyla birleştirmem gerekiyor. Bunu da SSD1MSR2 adında bir birleşim sorgusuyla yapıyorum. Sql kodları şöyle:
Kod:
SELECT SSD1.SAHA_MUSTERI, SSD1.SAHA_URUN_UST_ADI, SSD1.SAHA_URUN_KOD, SSD1.SAHA_URUN, SSD1.SAHA_RENK, SSD1.Kalan, SSD1.NET_REZERV
FROM SSD1 INNER JOIN MSR2 ON SSD1.SAHA_MUSTERI = MSR2.SAHA_MUSTERI
WHERE (((SSD1.Kalan)>=0))
ORDER BY SSD1.SAHA_URUN_KOD;
UNION SELECT MSR2.SAHA_MUSTERI, MSR2.SAHA_URUN_UST_ADI, MSR2.SAHA_URUN_KOD, MSR2.SAHA_URUN, MSR2.SAHA_RENK, MSR2.Kalan, MSR2.NET_REZERV
FROM SSD1 INNER JOIN MSR2 ON SSD1.SAHA_MUSTERI = MSR2.SAHA_MUSTERI;
Yukarıdaki sorguların hepsi Ms Access veritabanı kullanıldığında problemsiz çalışıyor ancak veritabanı MS Sql olunca Access arayüzünde yaptığım yukarıdaki sorgulardan MSR1, MSR2, SSD1 Seçme sorgularında problem yok ama SSD1MSR2 Birleşim sorgusunu çalıştırmak istediğimde ekteki resimde yeralan hata mesajını alıyorum:
Sizce nerede hata yapıyorum.