Alınan siparişleri sql ile almak

Gönderen Konu: Alınan siparişleri sql ile almak  (Okunma sayısı 1099 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı furkanhdurmus

  • Yeni Kullanıcı
  • *
  • Karma: 0
Alınan siparişleri sql ile almak
« : 23.10.2009, 12:01 »
MErhaba ;

ALINAN_SIPARISLER isimli dosyadan excel ile verileri çekiyorum ama her satır birden fazla
mükerrer olarak geliyor.Müşteriye ait sipariş fişindeki her satır onlarca kez yazılıyor.


Bunu kodla engelleme imkanımız varmı.

Saygılar

Çevrimdışı furkanhdurmus

  • Yeni Kullanıcı
  • *
  • Karma: 0
Ynt: Alınan siparişleri sql ile almak
« Yanıtla #1 : 23.11.2009, 13:59 »
Sorunu cevabını excelvba.net aracılığı ile çözebildik.Sizlerede faydası olur umarım.

Aşağıdaki kod ile excele tüm sipariş işlemleri mükerrer olmadan alınabiliyor.

Saygılar

Sub VERİAL()
Dim con As Object, rs As Object, i As Long
Set con = CreateObject("adodb.connection")
con.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=GoShop;Data Source=FURKAN\SQLEXPRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=FURKAN;Use Encryption for Data=False;Tag with column collation when possible=False"
Set rs = con.Execute("select distinct(CH_KODU),* from dbo.LNX_004_01_06_ALINAN_SIPARISLER where dbo.LNX_004_01_06_ALINAN_SIPARISLER.ch_kodu in (select distinct(dbo.LNX_004_01_06_ALINAN_SIPARISLER.ch_kodu) FROM dbo.LNX_004_01_06_ALINAN_SIPARISLER)")
With Sheets("sayfa5")
For i = 0 To rs.Fields.Count - 1
    .Cells(1, i + 1).Value = rs.Fields(i).Name
Next i
.Range("a2").CopyFromRecordset rs
End With
Set rs = Nothing
Set con = Nothing
i = Empty
End Sub

Çevrimdışı memorphin

  • LOGO Bayi
  • Logo Uzmanı
  • *****
  • Karma: 25
Ynt: Alınan siparişleri sql ile almak
« Yanıtla #2 : 23.11.2009, 18:39 »
Sorunu cevabını excelvba.net aracılığı ile çözebildik.Sizlerede faydası olur umarım.

Aşağıdaki kod ile excele tüm sipariş işlemleri mükerrer olmadan alınabiliyor.

Saygılar

Sub VERİAL()
Dim con As Object, rs As Object, i As Long
Set con = CreateObject("adodb.connection")
con.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=GoShop;Data Source=FURKAN\SQLEXPRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=FURKAN;Use Encryption for Data=False;Tag with column collation when possible=False"
Set rs = con.Execute("select distinct(CH_KODU),* from dbo.LNX_004_01_06_ALINAN_SIPARISLER where dbo.LNX_004_01_06_ALINAN_SIPARISLER.ch_kodu in (select distinct(dbo.LNX_004_01_06_ALINAN_SIPARISLER.ch_kodu) FROM dbo.LNX_004_01_06_ALINAN_SIPARISLER)")
With Sheets("sayfa5")
For i = 0 To rs.Fields.Count - 1
    .Cells(1, i + 1).Value = rs.Fields(i).Name
Next i
.Range("a2").CopyFromRecordset rs
End With
Set rs = Nothing
Set con = Nothing
i = Empty
End Sub

sorgu tamam da LNX_004_01_06_ALINAN_SIPARISLER  diye bi view yokki önce o viewin oluşturulması lazım

Çevrimdışı furkanhdurmus

  • Yeni Kullanıcı
  • *
  • Karma: 0
Ynt: Alınan siparişleri sql ile almak
« Yanıtla #3 : 24.11.2009, 00:51 »
Benim kullandığım firma no 004 olduğu için nosu bu.Ayrıca böyle bir view var,ve şu anda kullanıyorum.
"Belki bende focusda olduğu içinmi böyle bir view var ?"
Saygılar

Çevrimdışı memorphin

  • LOGO Bayi
  • Logo Uzmanı
  • *****
  • Karma: 25
Ynt: Alınan siparişleri sql ile almak
« Yanıtla #4 : 24.11.2009, 10:34 »
onu diyorum zaten. sizde focusun raporlarının oluşturduğu viewler var ondan rapor alabiliyosunuz. ama o view içeriğini arkadaşa gönderebilirsiniz