Arama butonu
Bu konudaki kullanıcılar: 1 misafir
13
Cevap
3057
Tıklama
0
Öne Çıkarma
C# Access Veri Tabanınki İki Farklı Satırı Birleştirme
T
13 yıl (2899 mesaj)
Yüzbaşı
Konu Sahibi

Merhaba arkadaşlar. Saatlerce cevabını aradığım ama bir türlü bulamadığım bir sorun. "coalesce" kodu ile ilgili bilgiler buldum yabancı kaynaklarda ama bir türlü uygulayamadım.
Benim sıkıntım şu; benim iki farklı sütunum var. Birincisi "urun_adi" diğeri "siparis_nosu". Yapmak istediğim "siparis_nosu" aynı olan "urun_adi" değerlerini birleştirmek.

örneğin:
--siparis_nosu ---- urun_adi
1) 2 ---- çikolata
2) 2 ---- kek

yapmak istediğim:
-- siparis_nosu --- urun adı
1) 2 ----- çikolata / kek

Derdimi basitçe bu şekilde anlattım. Eğer anlaşılamadıysam ss çekip o şekilde de anlatabilirim.
Şimdiden teşekkürler

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi tembelizm -- 5 Temmuz 2013; 22:24:26 >

A
13 yıl (2502 mesaj)
Yüzbaşı

veritabanınında bunların zaten ayrı durması gerek, hangi sipariş no da hangi ürünler olduğunu bulman için böyle olması gerek anca bunları yazılım tarafında birleştirirsin. İstediğin yapılmaz mı yapılır çok uğraştırabilir ama gereksiz, örneğin siparişten 1 tane ürün çıkartıcaksın birleştirdiliğinde bunu çıkartmak için can çekişirsin yada ekleme kısmıda aynı şekil gerek yok böyle şeylere



T
13 yıl (2899 mesaj)
Yüzbaşı
Konu Sahibi

Peki o satici kismini kullanici ekleyecekse nasil olacak o is? Belki onlarca satici olacak ve o saticilarla bir suru islem yurutulecek. Yeni tablolar yaratarak bu isi nasil yapariz?



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
A
13 yıl (2502 mesaj)
Yüzbaşı

Veritabanı ilişkisini iyi ayarlaman lazım bu iş için örneğin

Sağlayıcılar, Ürünler, Siparişler, Müşteriler, Siparişteki Ürünler diye 5 tablon olsun bunlara kısaca şöyle isim verelim

Sağlayıcılar = C, Urunler = U, Siparişler = S, Müşterlier = M, Siparişteki Ürünler = SU

C { ID, Adi } //Sağlayıcı ID si ile adı

U { ID, C_ID, Adi, ozelligi } // Ürün ID, Sağlayıcı ID, Adi, Özelliği vs

M { ID, Adi, Tel vs } // Müşteri ID, Adı, Telefonu vs.

S { ID, M_ID, Fiyat vs. } // Sipariş ID, Müşteri ID, Sipariş tutarı

SU { S_ID, U_ID, Miktar } //Sipariş ID, Ürün ID, Üründen ne kadar olduğu. Hangi Siparişte hangi ürünlerin bulunduğuna dair bulunan tablo


Fiyatı Ürünler tablosunada koyabilirsin ordan siparişdeki ürünlerdeki miktarla ürünlerdeki fiyatı çarparsın sipariş fiyatını buldurabilirsin bu şekilde daha sağlıklı olur. Senin sorduklarına göre aklıma gelen şekil bu, aklına takılan birşey olursa sorabilirsin


Bu mesaja 1 cevap geldi.
T
13 yıl (2899 mesaj)
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: aLiM KaFKeF

Veritabanı ilişkisini iyi ayarlaman lazım bu iş için örneğin

Sağlayıcılar, Ürünler, Siparişler, Müşteriler, Siparişteki Ürünler diye 5 tablon olsun bunlara kısaca şöyle isim verelim

Sağlayıcılar = C, Urunler = U, Siparişler = S, Müşterlier = M, Siparişteki Ürünler = SU

C { ID, Adi } //Sağlayıcı ID si ile adı

U { ID, C_ID, Adi, ozelligi } // Ürün ID, Sağlayıcı ID, Adi, Özelliği vs

M { ID, Adi, Tel vs } // Müşteri ID, Adı, Telefonu vs.

S { ID, M_ID, Fiyat vs. } // Sipariş ID, Müşteri ID, Sipariş tutarı

SU { S_ID, U_ID, Miktar } //Sipariş ID, Ürün ID, Üründen ne kadar olduğu. Hangi Siparişte hangi ürünlerin bulunduğuna dair bulunan tablo


Fiyatı Ürünler tablosunada koyabilirsin ordan siparişdeki ürünlerdeki miktarla ürünlerdeki fiyatı çarparsın sipariş fiyatını buldurabilirsin bu şekilde daha sağlıklı olur. Senin sorduklarına göre aklıma gelen şekil bu, aklına takılan birşey olursa sorabilirsin

Ben yazdıklarınızı pek anlayamadım çok üzgünüm. Bugün zaten bayağı uğraştım kafam iyice doldu daha sonra tekrar detaylıca okuyacağım. Ama şunu söylemem gerekiyor; kullanıcı istediği kadar müşteri ekleyip bu müşteriye satış yapacak. Programın temelinde bu var. Şimdi ben bunun üzerine satislar adında bir tablo yaptım bu tabloda satış yapılan müşterinin ID'si, ürünün ID'si, tarih, tutar gibi bilgiler mevcut. Tabi ben bu bilgileri çekmeye çalışırken atıyorum aynı müşteriye 4 farklı ürün sattığım için 4 satır müsteri ID'si aynı oluyor. Ben bu müşteri ID'si ile okuttuğumda bu 4 satırdan sadece birisini çekiyor. Diğer 3 satırı çekemiyorum.

Yapmak istediğim bu aynı olan ID'lerin satırındaki bilgileri yani urun ID, tutar gibi bilgileri bir listview veya bir textboxta kullanmak ardından işleme sokmak.

Bu arada ilginiz için çok çok teşekkürler. İki gündür kafamı bayağı kurcalıyor bu durum.


Bu mesaja 1 cevap geldi.
A
13 yıl (2502 mesaj)
Yüzbaşı

quote:

Orijinalden alıntı: tembelizm

quote:

Orijinalden alıntı: aLiM KaFKeF

Veritabanı ilişkisini iyi ayarlaman lazım bu iş için örneğin

Sağlayıcılar, Ürünler, Siparişler, Müşteriler, Siparişteki Ürünler diye 5 tablon olsun bunlara kısaca şöyle isim verelim

Sağlayıcılar = C, Urunler = U, Siparişler = S, Müşterlier = M, Siparişteki Ürünler = SU

C { ID, Adi } //Sağlayıcı ID si ile adı

U { ID, C_ID, Adi, ozelligi } // Ürün ID, Sağlayıcı ID, Adi, Özelliği vs

M { ID, Adi, Tel vs } // Müşteri ID, Adı, Telefonu vs.

S { ID, M_ID, Fiyat vs. } // Sipariş ID, Müşteri ID, Sipariş tutarı

SU { S_ID, U_ID, Miktar } //Sipariş ID, Ürün ID, Üründen ne kadar olduğu. Hangi Siparişte hangi ürünlerin bulunduğuna dair bulunan tablo


Fiyatı Ürünler tablosunada koyabilirsin ordan siparişdeki ürünlerdeki miktarla ürünlerdeki fiyatı çarparsın sipariş fiyatını buldurabilirsin bu şekilde daha sağlıklı olur. Senin sorduklarına göre aklıma gelen şekil bu, aklına takılan birşey olursa sorabilirsin

Ben yazdıklarınızı pek anlayamadım çok üzgünüm. Bugün zaten bayağı uğraştım kafam iyice doldu daha sonra tekrar detaylıca okuyacağım. Ama şunu söylemem gerekiyor; kullanıcı istediği kadar müşteri ekleyip bu müşteriye satış yapacak. Programın temelinde bu var. Şimdi ben bunun üzerine satislar adında bir tablo yaptım bu tabloda satış yapılan müşterinin ID'si, ürünün ID'si, tarih, tutar gibi bilgiler mevcut. Tabi ben bu bilgileri çekmeye çalışırken atıyorum aynı müşteriye 4 farklı ürün sattığım için 4 satır müsteri ID'si aynı oluyor. Ben bu müşteri ID'si ile okuttuğumda bu 4 satırdan sadece birisini çekiyor. Diğer 3 satırı çekemiyorum.

Yapmak istediğim bu aynı olan ID'lerin satırındaki bilgileri yani urun ID, tutar gibi bilgileri bir listview veya bir textboxta kullanmak ardından işleme sokmak.

Bu arada ilginiz için çok çok teşekkürler. İki gündür kafamı bayağı kurcalıyor bu durum.



Sorman gereken şey şuymuş aslında senin, "Sorgu yapıyorum ama 4 satır olan veri tek satır geliyor neden ?" onun yerine satırları birleştirmeye kalkışmışsın :)


sen veriyi çekmeye çalıştığın yeri buraya yaz nerde hata yaptığını bulalım


Bu mesaja 1 cevap geldi.
T
13 yıl (2899 mesaj)
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: aLiM KaFKeF

quote:

Orijinalden alıntı: tembelizm

quote:

Orijinalden alıntı: aLiM KaFKeF

Veritabanı ilişkisini iyi ayarlaman lazım bu iş için örneğin

Sağlayıcılar, Ürünler, Siparişler, Müşteriler, Siparişteki Ürünler diye 5 tablon olsun bunlara kısaca şöyle isim verelim

Sağlayıcılar = C, Urunler = U, Siparişler = S, Müşterlier = M, Siparişteki Ürünler = SU

C { ID, Adi } //Sağlayıcı ID si ile adı

U { ID, C_ID, Adi, ozelligi } // Ürün ID, Sağlayıcı ID, Adi, Özelliği vs

M { ID, Adi, Tel vs } // Müşteri ID, Adı, Telefonu vs.

S { ID, M_ID, Fiyat vs. } // Sipariş ID, Müşteri ID, Sipariş tutarı

SU { S_ID, U_ID, Miktar } //Sipariş ID, Ürün ID, Üründen ne kadar olduğu. Hangi Siparişte hangi ürünlerin bulunduğuna dair bulunan tablo


Fiyatı Ürünler tablosunada koyabilirsin ordan siparişdeki ürünlerdeki miktarla ürünlerdeki fiyatı çarparsın sipariş fiyatını buldurabilirsin bu şekilde daha sağlıklı olur. Senin sorduklarına göre aklıma gelen şekil bu, aklına takılan birşey olursa sorabilirsin

Ben yazdıklarınızı pek anlayamadım çok üzgünüm. Bugün zaten bayağı uğraştım kafam iyice doldu daha sonra tekrar detaylıca okuyacağım. Ama şunu söylemem gerekiyor; kullanıcı istediği kadar müşteri ekleyip bu müşteriye satış yapacak. Programın temelinde bu var. Şimdi ben bunun üzerine satislar adında bir tablo yaptım bu tabloda satış yapılan müşterinin ID'si, ürünün ID'si, tarih, tutar gibi bilgiler mevcut. Tabi ben bu bilgileri çekmeye çalışırken atıyorum aynı müşteriye 4 farklı ürün sattığım için 4 satır müsteri ID'si aynı oluyor. Ben bu müşteri ID'si ile okuttuğumda bu 4 satırdan sadece birisini çekiyor. Diğer 3 satırı çekemiyorum.

Yapmak istediğim bu aynı olan ID'lerin satırındaki bilgileri yani urun ID, tutar gibi bilgileri bir listview veya bir textboxta kullanmak ardından işleme sokmak.

Bu arada ilginiz için çok çok teşekkürler. İki gündür kafamı bayağı kurcalıyor bu durum.



Sorman gereken şey şuymuş aslında senin, "Sorgu yapıyorum ama 4 satır olan veri tek satır geliyor neden ?" onun yerine satırları birleştirmeye kalkışmışsın :)


sen veriyi çekmeye çalıştığın yeri buraya yaz nerde hata yaptığını bulalım

Baktım işin içinden çıkamıyorum programın yapısını değiştirdim. O yüzden ikinci mesajımdaki sorun diğerinden farklı. Şimdi şöyle bir kodla verileri okuyup listview'e atıyorum. Ama o siparis nosuna ait yalnızca tek bir satır geliyor. Buyrun kodlar:
 

ListViewItem secilen = listView1.FocusedItem;
a =Convert.ToInt32(secilen.SubItems[0].Text);
OleDbConnection conn = new OleDbConnection(baglanti);
String bul = "SELECT * FROM isler WHERE siparis_nosu=" + a + "";
OleDbCommand komut = new OleDbCommand(bul, conn);
OleDbDataReader oku = null;
conn.Open();
oku = komut.ExecuteReader();
while (oku.Read())
{
listView2.Items.Clear();
ListViewItem liv = new ListViewItem(oku["is_tipi"].ToString());
liv.SubItems.Add(oku["birim_fiyati"].ToString());
liv.SubItems.Add(oku["is_miktari"].ToString());
liv.SubItems.Add(oku["toplam_fiyat"].ToString());
listView2.Items.Add(liv);
}
conn.Close();
oku.Close();


Bu mesaja 1 cevap geldi.
A
13 yıl (2502 mesaj)
Yüzbaşı

listView2.Items.Clear();


while içersinde her yeni veri geldiğinde listView'i boşaltıyosun while'in içinden çıkart onun üstüne koy bunu



T
13 yıl (2899 mesaj)
Yüzbaşı
Konu Sahibi

Hahaha saka gibi
Cok tesekkurler yardimlarinizdan dolayi



< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @aLiM KaFKeF
Y
13 yıl (1733 mesaj)
Yüzbaşı

sql ile ilgili bir çok kaynak var bununla ilgili. derdini basitçe çok güzel anlatmışsın hocam, fakat derdinin çözümü çok basit. Biraz öğrenip ya da araştırıp, çözemezseniz sormanız daha iyi olacak sanki


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @tembelizm
T
13 yıl (2899 mesaj)
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: yazilimsever

sql ile ilgili bir çok kaynak var bununla ilgili. derdini basitçe çok güzel anlatmışsın hocam, fakat derdinin çözümü çok basit. Biraz öğrenip ya da araştırıp, çözemezseniz sormanız daha iyi olacak sanki

İlk sorunumun çözümü bence basit değil. Çok fazla araştırdım ve hala bulamadım. Bende pes edip başka bir yoldan ilerlemeye karar verdim.
Eğer ilk sorumun cevabını biliyorsanız, paylaşırsanız çok faydalı olur.





< Bu mesaj bu kişi tarafından değiştirildi tembelizm -- 7 Temmuz 2013; 23:57:56 >

P
13 yıl (283 mesaj)
Yüzbaşı

quote:

Orijinalden alıntı: tembelizm

Merhaba arkadaşlar. Saatlerce cevabını aradığım ama bir türlü bulamadığım bir sorun. "coalesce" kodu ile ilgili bilgiler buldum yabancı kaynaklarda ama bir türlü uygulayamadım.
Benim sıkıntım şu; benim iki farklı sütunum var. Birincisi "urun_adi" diğeri "siparis_nosu". Yapmak istediğim "siparis_nosu" aynı olan "urun_adi" değerlerini birleştirmek.

örneğin:
--siparis_nosu ---- urun_adi
1) 2 ---- çikolata
2) 2 ---- kek

yapmak istediğim:
-- siparis_nosu --- urun adı
1) 2 ----- çikolata / kek

Derdimi basitçe bu şekilde anlattım. Eğer anlaşılamadıysam ss çekip o şekilde de anlatabilirim.
Şimdiden teşekkürler

anladığım kadarıyla şunu istiyorsun

declare @Deger varchar(500)
select @Deger = coalesce(@Deger + ' / ', '') + siparis
from siparisler where siparisno='1'
select @deger as siparislerim

not:
--tablo ismi -> siparisler
--alan isimleri -> siparisno , siparis

siparisno kısmına kaç numaralı siparişleri birleştirmek istediğini yazarsın hepsini listelemek için bir while döngüsü kurarsın



P
13 yıl (283 mesaj)
Yüzbaşı

ama access de çalışmayabilir haberin olsun sql server ya da oracle denersen daha başarılı olursun


Bu mesaja 1 cevap geldi.
T
13 yıl (377 mesaj)
Yüzbaşı

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.