Skip to main content

AccessTr.neT


Combobox ile DataGridview (Access Veritabanı) Sorgusu

Combobox ile DataGridview (Access Veritabanı) Sorgusu

Çözüldü #1
Ekte gönderdiğim uygulamada Combox1 veritabanından AdiSoyadi bilgilerini getirip süzerken eklediğim Combobox2 ile de BabaAdi bilgilerini getirip süzmek istiyorum.

Yani Filtreleme işlemi Combobox değerlerine göre birlikte çalışmasını istiyorum.

Combobox1 ve Combobox2 değerlerine göre datagrid verileri göstersin istiyorum.
Combobox1 = Ali
Combobox2 = Veli

DataGrid sonucu = Adi Soyadı Ali BabaAdi Verli olanların tamamı.

[Resim: do.php?img=4247]
.rar WindowsApplication2.rar (Dosya Boyutu: 140,22 KB | İndirme Sayısı: 83)
Cevapla
#2
Bu sitede uzman seviyesinde kimse VS2010 üzeri sürümleri kullanmıyor. Ne olur artık bunu dikkate alın.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#3
Sn:chevy
Aşağıda kod ile istemiş olduğunuz sonucu alırsınız verdiğim örnek VB6 üzerine ama mantık aynı yani Sql kodlar ile işlem yapacaksınız.

Public Function SQL()
Adodc1.RecordSource = "Select * From TBL_ETIKET where [ADI] like '" _
& CmbAdi.Text _
& "%' and [BABAADI] like '" & CmbBabaAdi.Text & "%'"
Adodc1.Refresh
End Function

Private Sub CmbAdi_Click()
Call SQL
End Sub

Private Sub CmbBabaAdi_Click()
Call SQL
End Sub
OĞULCAN & OLCAYTUĞ

Oğulcan Excel Web Sitesi
Excel İle Programlama
Cevapla
#4
Daha açıklayıcı olması açısından;
[Resim: do.php?img=4248]
AdiSoyadi (Combobox1)
BabaAdi (Combobox2)

Combobox1 den Ali seçildiğinde 2 adet kayıt Datagridde gösteriliyor. Combobox2 den de Veli seçildiğinde tek kayıt göstersin istiyorum. Yani Datagridde sonuç; AdiSoyadı=Ali BabaAdi=Veli olsun..

Codelar bu şekli ile düzgün çalışıyor ancak Combobox2 ilave edilince nasıl bir değişiklik yada ilave gerekiyor.

'DataGridView nesnesine verileri aktar
Private Sub Listele(ByVal Sql As String)
Dim baglanti As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='kayıt.mdb'")
Dim veriler As New DataTable("Kayitlar")
Dim adapter As New OleDbDataAdapter(SQL, baglanti)
adapter.Fill(veriler)
DataGridView1.DataSource = veriler
End Sub

Private Sub doldur()
Dim baglanti As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='kayıt.mdb'")
baglanti.Open()
Dim komut As New OleDb.OleDbCommand("SELECT AdiSoyadi FROM Kayitlar GROUP BY AdiSoyadi", baglanti)
Dim oku As OleDb.OleDbDataReader
oku = komut.ExecuteReader()
ComboBox1.Items.Clear()
While oku.Read()
ComboBox1.Items.Add(oku("AdiSoyadi"))
End While
baglanti.Close()

End Sub

Private Sub ComboBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.TextChanged
If Me.ComboBox1.Text > "" Then

Dim Sql As New String("SELECT * FROM Kayitlar WHERE Kayitlar.AdiSoyadi='{0}'")
Sql = String.Format(sql, ComboBox1.SelectedItem)
Dim baglanti As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='kayıt.mdb'")
Dim komutnesnesi As New OleDb.OleDbCommand(sql, baglanti)
Dim sonuc As Integer
baglanti.Open()
sonuc = komutnesnesi.ExecuteNonQuery()
If sonuc = 1 Then
MsgBox("Hatayı Kontrol Ediniz.", MsgBoxStyle.Exclamation, "Silme İşlemi")

End If
Listele(sql)
baglanti.Close()
Else
Dim Sql As New String("SELECT * FROM Kayitlar '")
Sql = String.Format(sql, ComboBox1.SelectedItem)
Dim baglanti As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='kayıt.mdb'")
Dim komutnesnesi As New OleDb.OleDbCommand(sql, baglanti)
Dim sonuc As Integer
baglanti.Open()
sonuc = komutnesnesi.ExecuteNonQuery()
If sonuc = 1 Then
MsgBox("Hatayı Kontrol Ediniz.", MsgBoxStyle.Exclamation, "Silme İşlemi")

End If
Listele(sql)
baglanti.Close()
doldur()
End If
End Sub
Son Düzenleme: 31/03/2014, 20:56, Düzenleyen: chevy.
Cevapla
#5
Sn:chevy
Az önce yukarıda vermiş olduğum kodlar ile bende kendi programlarımda sizin istemiş olduğunuz şekilde raporlamalar alıyorum burada Comboboxların Clik olayına fonksiyonun çalışması için kodları yazacaksınız.
OĞULCAN & OLCAYTUĞ

Oğulcan Excel Web Sitesi
Excel İle Programlama
Cevapla
#6
Combobox1 ve combobox2 birlikte çalışması için codları nasıl düzenleyeceğimi veya ne ilave edeceğim konusunda yardımcı olabilirmisiniz. Access veritabanı kullanıyorum ancak codları nasıl düzenleyeceğim...
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da