Skip to main content

AccessTr.neT


Bir fazla tabloda, birden çok veri arama nasıl yapılır.

Bir fazla tabloda, birden çok veri arama nasıl yapılır.

#3
Formuna 1 adet DataGridView ekle

-Önce datagridi doldurmak lazım.

Private Sub Listele(ByVal Sql As String)
Dim baglanti As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='veritabanı.mdb'")
Dim veriler As New System.Data.DataTable("Tablo adı")
Dim adapter As New OleDbDataAdapter(SQL, baglanti)
adapter.Fill(veriler)
DataGridView1.DataSource = veriler
baglanti.Close()
End Sub

- Veritabanından datagride verileri aktarıyoruz

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Listele("SELECT * FROM Tablo adın order by hangi alana göre sıralancak")

'genellikle 0. alan id olacağı için datagridde görünmesini istemeyiz ve gizliyoruz

DataGridView1.Columns(0).Visible = False

'datagridde alanları yediden adlandırabilirsin

DataGridView1.Columns(1).HeaderText = "Firma Ünvanı"
DataGridView1.Columns(2).HeaderText = "Adresi"

' datagridin şeklini değiştirelin azıcık Img-grin

DataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically
DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
DataGridView1.EnableHeadersVisualStyles = False
DataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.SlateGray ' başlık rengini değiştir
DataGridView1.ColumnHeadersDefaultCellStyle.Font = New System.Drawing.Font("Tahoma", 7.5, FontStyle.Bold) ' başlık font stili

End Sub

- Şimdi datagridden bi satır tıklanınca o satır verilerini textboxlara aktarmaya geldi


Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
TextBox1.Text = IIf(IsDBNull(DataGridView1.CurrentRow.Cells(1).Value), "", DataGridView1.CurrentRow.Cells(1).Value)
TextBox2.Text = IIf(IsDBNull(DataGridView1.CurrentRow.Cells(2).Value), "", DataGridView1.CurrentRow.Cells(2).Value)

' TextBox1 e veritabanındaki 1. alandaki veri gelecek
' TextBox2 ye veritabanındaki 2. alandaki veri gelecek
End Sub

- 1 adet texbox ekle onun içinde arama yapacağız ve datagridde göstereceğiz


Public Sub arama(ByVal aranan As String)
Dim baglanti = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='veritbanı adı.mdb'")
Dim sondan_arama As String = "select * from tablo adın where alan adın like'%" + aranan + "'"
Dim bastan_arama As String = "select * from tablo adın where alan adın like'" + aranan + "'%"
Dim ortadan_arama As String = "select * from tablo adın where alan adın like'%" + aranan + "%'"
Dim adaptor As New OleDbDataAdapter(ortadan_arama, baglanti)
Dim tablo As New System.Data.DataTable
adaptor.Fill(tablo)
DataGridView1.DataSource = tablo
End Sub

- textboxa yazacağına göre arama yapması için


Private Sub TextBox10_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox15.TextChanged
arama(TextBox10.Text)
End Sub

Sanırım bu kadarı sana epey yol aldıracaktır.
drummers, 11-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Cvp: Bir fazla tabloda, birden çok veri arama nasıl yapılır. - Yazar: drummers - 01/06/2013, 03:36