我知道下面的代码有内行人眼里有不少问题,小弟初入此门让各位见笑了,请多多指教!
我建的数据库里有一个“图书登记”的表,表里里五个字段,分别是:ID、图书名称、主编、出版社、定价,ID为主键。
期望的查询结果是:在Text1输入书名或者在Text2里输入主编(即按书名和主编查询),如果数据库里有此记录,则在数据库里作为焦点显示,并且弹出MsgBox提示有此记录,否则提示无此记录,其查询按钮全部代码如下,请内行人给修改一下,能符合上面的条件,非常感谢!!
Private Sub Command4_Click() '图书查询按钮触发事件
If (Text1.Text = "") And (Text2.Text = "") Then '判断text1~2是否为空
fm = MsgBox("图书名称或主编不能同时为空,二者请选一个输入进行查询", , "系统提示") 'MsgBox赋值给fm
End If
If fm = 1 Then
Text1.SetFocus
Exit Sub
Else
End If
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
T1 = Text1.Text
T2 = Text2.Text
Text1.SetFocus
Str1 = "Provider=Microsoft.Jet.OLEDB.4.0;"
Str2 = "Data Source=E:\vb\图书书架.mdb;"
Str3 = "Jet OLEDB:Database Password="
conn.Open Str1 & Str2 & Str3
strSQL = "select * Tsmc=图书登记.图书名称,ZB=图书登记.主编"
strSQL = "select * from 图书登记 "
strSQL = "where rs!Tsmc=" & Val(T1) & " And rs!zb = " & Val(T2) & ""
If Tsmc = Val(T1) Or zb = Val(T2) Then
strSQL = "select ID,图书名称,主编,出版社,定价 from 图书登记 "
rs.Open strSQL, conn, 3, 3
MsgBox "查询系统记录有您需要的图书", , "系统提示"
Adodc1.Refresh
Else
MsgBox ("查无此书")
rs.Close
conn.Close
Exit Sub
End If
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Exit Sub
End Sub
补充一下,数据库查询里是不是不能用中文表头?如果是该如何解决?请指教~~
另外如果全部功能能正常实现,并且注释很清楚(能让我明白),还可追加30分!!!