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 

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
Task