Sayın forum üyeleri final sınavım için hazırladığım Visual Basic .Net ile yazdığım bir bilgisayar toplama programı var.
Access veritabanı kullanıyorum.
Access veritabanındaki bilgileri combobox'lara falan getirmekte sorun yok ancak yapamadığım bir kısım var.
Access veritabanında eklediğim her parçanın otomatik sayı ile bir id numarası var. Bende formumdaki textbox1 öğesine bu id numarasını okuyarak sadece ilgili ürünün fiyatını getirmeye çalışıyorum ancak başaramadım. Bir kaç farklı kod denedim ancak sadece birini çalıştırabildim o da veritabanındaki son fiyatı getirdi sadece.
Yardım edebilirseniz çok sevinirim. Şimdiden teşekkürler.
Örneğin combobox'a parça adı çektiğim kodum:
If ComboBox1.Text = "İşlemci" Then
Label2.Text = "İşlemci"
ComboBox2.Items.Clear()
Dim connk As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='VERITABANI.mdb'")
Dim listek As String
listek = "select Parça_Adı, Parça_Fiyatı from islemci"
Dim esk As New OleDb.OleDbCommand(listek, connk)
connk.Open()
Dim readerk As OleDbDataReader = esk.ExecuteReader
Do While readerk.Read
ComboBox2.Items.Add(readerk("Parça_Adı"))
Loop
End If
Yazdığınızdan bir şey anlamadım, ama sanırım yapmak istediğiniz textboxınıza aldığınız parça id nosuna göre fiyatını getirmek. Şu
Makale inceleyin size yol gösterecektir.
(29/05/2022, 10:24)atoykan yazdı: Yazdığınızdan bir şey anlamadım, ama sanırım yapmak istediğiniz textboxınıza aldığınız parça id nosuna göre fiyatını getirmek. Şu Makale inceleyin size yol gösterecektir.
Öncelikle kusura bakmayın derslerimden dolayı girip cevap yazamadım. Bir diğer mesele: Yazdığım program Bilgisayar parçalarını seçip bir araya getirerek satın aldığınız bir uygulama.
Access ile oluşturduğum ve
Access 2003 ile kaydettiğim(mdb) veritabanı adında bir veritabanım var. Bunun içerisinde ayrı ayrı işlemciler tablosu, anakart tablosu, ekran kartı tablosu gibi parçaların bilgisinin olduğu tablolar var. Tabloların sütunları sırasıyla id, Parça_Adı ve Parça_Fiyatı . Benim yapmak istediğim örneğin kullanıcı uygulamadan birinci işlemci modelini seçti yani bu paçanın veritabanındaki id numarası 1. Yani yapmak istediğim işlemciler tablosunda bulunan ve id numarası 1 olan ürünün Parça_Fiyatı bilgisini TextBox1 nesnesine ekle. Bende bunu şöyle bir kod satırıyla yapmayı denedim;
Public Sub işlemciid1()
Dim connk As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='VERITABANI.mdb'")
Dim listek As String
listek = "select Parça_Fiyatı from islemci WHERE id = 1"
Dim esk As New OleDb.OleDbCommand(listek, connk)
connk.Open()
Dim readerk As OleDbDataReader = esk.ExecuteReader
readerk.Read()
TextBox1.Text = readerk("Parça_Fiyatı")
End Sub
ancak burada
select Parça_Fiyatı from islemci dememe rağmen gidip anakart bilgilerini getiriyor mesela. Neden böyle yaptığını anlamadım gitti. Acaba diyorum aynı kodun şu versiyonuyla ComboBox2 nesnesine bilgi getirdiği için bir çakışma mı var ama çözemiyorum. o kod:
If ComboBox1.Text = "İşlemci" Then
Label2.Text = "İşlemci"
ComboBox2.Items.Clear()
Dim connk As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='VERITABANI.mdb'")
Dim listek As String
listek = "select Parça_Adı from islemci"
Dim esk As New OleDb.OleDbCommand(listek, connk)
connk.Open()
Dim readerk As OleDbDataReader = esk.ExecuteReader
Do While readerk.Read
ComboBox2.Items.Add(readerk("Parça_Adı"))
Loop
End If
Umarım kendimi açıklayabilmişimdir.
Veritabanı ve uygulamadan resimler: