2016-03-25 14 views
0

Veritabanımın alan adları olarak adlandırılan seçimleri içeren bir combobox var. "SalesCustomers" ı seçip arama butonuna bastığınızda, "Salescustomer" alan adları işaretli olan tüm müşterileri (gerçek durumdaki AKA) gösterecektir. Aksi takdirde satış elemanının hiçbir üyesini söyleyen bir hata atar. Bende bu yüzden tüm istemcileri kimliğine bağlı olarak görüntülerim ama şimdi bunu istiyorum. Aşağıda benim veritabanım ve kodumun bir ekran görüntüsü.FieldName'e bağlı olarak verileri görüntüleme - Erişim

Kodu: Önceki sorulara dayanarak

Private Sub Interest(ByVal ans As String) 
    If con.State = ConnectionState.Closed Then con.Open() 
    cmd = New OleDbCommand 
    cmd.Connection = con 
    cmd.CommandText = "Select * FROM tbl WHERE ID = ?" 
    cmd.Parameters.Add("?", OleDbType.VarChar).Value = ans 
    Dim reader As OleDbDataReader = cmd.ExecuteReader() 
    If reader.Read() Then 
     TxtCI.Text = reader(0).ToString() 
    Else 
     MsgBox("No interest", MsgBoxStyle.Critical, "Please reselect") 
    End If 
    con.Close() 
End Sub 
+1

Anlattığınız şey bir filtredir, ancak gösterilen yöntem bir aramayı gösterir? – Plutonix

+0

Bunu kullanmak için bir filtreye ihtiyacım var? Kullanmayı umduğum kod, yukarıdaki kodu Müşteri Kimliği kullanarak bir müşteri aramak için kullandığım yukarıdaki koddur. Kod bir filtre için ne olurdu? D: –

+0

'dan önce filtrelerle hiç bir şey yapmadım Pekala, bilmiyorum bu yüzden sordum. Belirli bir müşteriye ait belirli bir müşteri bulmaya mı çalışıyorsunuz yoksa bu müşterinin TÜM müşterisini göstermek için görünümü değiştirmeye mi çalışıyorsunuz? – Plutonix

cevap

0

, ben bir yerlere DataTable ve BindingSource var biliyorum. Uygulamak Nasıl

Dim FishFilter = "" 
If cboFishFilter.SelectedIndex > 0 Then 
    FishFilter = String.Format("Fish = '{0}'", cboFishFilter.Text) 
    ' e.g.: "Fish = 'Perch'" 
End If 

' or via a BindingSource: 
bsHdr.Filter = FishFilter 
' can also use DataView.RowFilter: 
dvHdr.RowFilter = FishFilter 

: Filtre hedef metin olduğunda Diğer durumlarda

bsCust.Filter = "SalesCustomer = True" 

: niyeti kullanıcı kullanın bir filtre sadece "SalesCustomer" türlerini görüntülemek için muktedir içinse Hangi nesnelere çalıştığınıza bağlıdır. Bu, listedeki ilk öğenin "(Yok)" ya da herhangi bir filtreyi kaldırmanın bir yolu olması için somesan olduğunu varsayar. Bu durumda, FishFilter boş bir dize kalır ve filtreyi temizler.

Bunu bir "Uygula" düğmesine koymak istiyorum, böylece kullanıcı listeyi açabilir ve yanlışlıkla bir filtre uygulamadan bakabilir.

+1

Tekrar teşekkürler Plutonix! –

İlgili konular