我正在尝试编写一个或多个SQL语句,这些语句将根据人名首字母(最后一个)的文本框条目检索帐户信息。如果只输入一个字母,则以下语句有效,但不能输入。
'variable
Dim strDataSource As String
Dim connStr As String = "provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source = Chapter4.mdb"
strDataSource = "SELECT CustID, LastName, FirstName " & _
"FROM tblCustomers " & _
"WHERE UCase(TRIM(LastName)) LIKE '" & UCase(Me.txtCustID.Text) & "%'"
Dim dt As New DataTable
Dim dataAdapter = New OleDb.OleDbDataAdapter(strDataSource, connStr)
dataAdapter.Fill(dt)
dataAdapter.Dispose()
Me.dgvDisplay.DataSource = dt
我无法弄清楚如何将FirstName添加到搜索中。 谢谢
答案 0 :(得分:0)
我不知道你的表格中你的字段的名称,但Rajesh建议的内容类似于以下内容。如果您只想要匹配的第一个或最后一个名称,则在WHERE子句中使用OR而不是AND。
strDataSource = "SELECT CustID, LastName, FirstName " & _
"FROM tblCustomers " & _
"WHERE UCase(TRIM(LastName)) LIKE '" & UCase(Me.txtCustID.Text) & "%'" _
AND UCase(TRIM(FirstName)) LIKE '" & UCase(Me.txtFirstName.Text)
答案 1 :(得分:0)
你应该提到这是在VB。
<强>假设:强>
他们输入的第一个字符是姓氏。
他们输入的第二个角色是名字。
strDataSource = "SELECT CustID, LastName, FirstName " & _
"FROM tblCustomers " & _
"WHERE UCase(TRIM(LastName)) LIKE '" & UCase(Me.txtCustID.Text(0)) & "%'"
IF Me.txtCustID.Text.Length > 1 THEN
strDataSource += " AND UCase(TRIM(FirstName)) LIKE '" &_
UCase(Me.txtCustID.Text(1)) & "%'"
END IF