Dim DbStr As StringPrivate Sub Check1_Click(Index As Integer)
If Check1(0).Value = 1 Then
Combo1.Enabled = True
Else: Combo1.Enabled = False
Combo1.Text = ""
End If
If Check1(1).Value = 1 Then
Combo2.Enabled = True
Else:
Combo2.Enabled = False
Combo2.Text = ""
End If
If Check1(2).Value = 1 Then
Combo3.Enabled = True
Else: Combo3.Enabled = False
Combo3.Text = ""
End If
End SubPrivate Sub Command1_Click()
Dim TempStr As String
TempStr = DbStr
If Check1(0).Value = 1 And Not IsNull(Combo1.Text) Then
DbStr = DbStr + "and[性别]=" + Combo1.Text + ""
End If
If Check1(1).Value = 1 And Not IsNull(Combo2.Text) Then
DbStr = DbStr + "and[政治面貌]=" + Combo2.Text + ""
End If
If Check1(2).Value = 1 And Not IsNull(Combo3.Text) Then
DbStr = DbStr + "and[特长]=" + Combo3.Text + ""
End If
Data1.RecordSource = DbStr
List1.Clear
DbStr = TempStr
Data1.Refresh
If Data1.Recordset.BOF Or Data1.Recordset.EOF Then
Result = MsgBox("数据库空!", 48, "提示")
Exit Sub
End If
Data1.Recordset.MoveLast
Data1.Recordset.MoveFirst
For I = 1 To Data1.Recordset.RecordCount
List1.AddItem Data1.Recordset.Fields(0)
Data1.Recordset.MoveNext
Next I
Data1.Recordset.MoveFirstEnd SubPrivate Sub Command2_Click()
Unload Form1
End SubPrivate Sub form_load()
Dim I, Result As Integer
Combo1.Enabled = False
Combo2.Enabled = False
Combo3.Enabled = False
Combo1.Clear
Combo2.Clear
Combo3.Clear
Combo1.AddItem "男"
Combo1.AddItem "女"
Combo2.AddItem "党员"
Combo2.AddItem "团员"
Combo2.AddItem "群众"
Combo3.AddItem "计算机"
Combo3.AddItem "篮球"
Combo3.AddItem "美术"
Combo3.AddItem "文艺"
Combo3.AddItem "跳舞"
Combo3.AddItem "棋牌"
DbStr = "select*from db where [姓名]=[姓名]"
'Data1.DatabaseName = App.Path + "db.mdb"
Data1.RecordSource = DbStr
List1.Clear
Data1.Refresh
If Data1.Recordset.BOF Or Data1.Recordset.EOF Then
Result = MsgBox("数据库空!", 48, "提示")
Exit Sub
End If
Data1.Recordset.MoveLast
Data1.Recordset.MoveFirst
For I = 1 To Data1.Recordset.RecordCount
List1.AddItem Data1.Recordset.Fields(0)
Data1.Recordset.MoveNext
Next I
Data1.Recordset.MoveFirstEnd Sub代码如上。。
出现这样的问题syntax error(missing operator) in query expression"[姓名]=[姓名]and[性别]=男and[政治面貌]=党员"
请问大家这是什么问题呢。。
If Check1(0).Value = 1 Then
Combo1.Enabled = True
Else: Combo1.Enabled = False
Combo1.Text = ""
End If
If Check1(1).Value = 1 Then
Combo2.Enabled = True
Else:
Combo2.Enabled = False
Combo2.Text = ""
End If
If Check1(2).Value = 1 Then
Combo3.Enabled = True
Else: Combo3.Enabled = False
Combo3.Text = ""
End If
End SubPrivate Sub Command1_Click()
Dim TempStr As String
TempStr = DbStr
If Check1(0).Value = 1 And Not IsNull(Combo1.Text) Then
DbStr = DbStr + "and[性别]=" + Combo1.Text + ""
End If
If Check1(1).Value = 1 And Not IsNull(Combo2.Text) Then
DbStr = DbStr + "and[政治面貌]=" + Combo2.Text + ""
End If
If Check1(2).Value = 1 And Not IsNull(Combo3.Text) Then
DbStr = DbStr + "and[特长]=" + Combo3.Text + ""
End If
Data1.RecordSource = DbStr
List1.Clear
DbStr = TempStr
Data1.Refresh
If Data1.Recordset.BOF Or Data1.Recordset.EOF Then
Result = MsgBox("数据库空!", 48, "提示")
Exit Sub
End If
Data1.Recordset.MoveLast
Data1.Recordset.MoveFirst
For I = 1 To Data1.Recordset.RecordCount
List1.AddItem Data1.Recordset.Fields(0)
Data1.Recordset.MoveNext
Next I
Data1.Recordset.MoveFirstEnd SubPrivate Sub Command2_Click()
Unload Form1
End SubPrivate Sub form_load()
Dim I, Result As Integer
Combo1.Enabled = False
Combo2.Enabled = False
Combo3.Enabled = False
Combo1.Clear
Combo2.Clear
Combo3.Clear
Combo1.AddItem "男"
Combo1.AddItem "女"
Combo2.AddItem "党员"
Combo2.AddItem "团员"
Combo2.AddItem "群众"
Combo3.AddItem "计算机"
Combo3.AddItem "篮球"
Combo3.AddItem "美术"
Combo3.AddItem "文艺"
Combo3.AddItem "跳舞"
Combo3.AddItem "棋牌"
DbStr = "select*from db where [姓名]=[姓名]"
'Data1.DatabaseName = App.Path + "db.mdb"
Data1.RecordSource = DbStr
List1.Clear
Data1.Refresh
If Data1.Recordset.BOF Or Data1.Recordset.EOF Then
Result = MsgBox("数据库空!", 48, "提示")
Exit Sub
End If
Data1.Recordset.MoveLast
Data1.Recordset.MoveFirst
For I = 1 To Data1.Recordset.RecordCount
List1.AddItem Data1.Recordset.Fields(0)
Data1.Recordset.MoveNext
Next I
Data1.Recordset.MoveFirstEnd Sub代码如上。。
出现这样的问题syntax error(missing operator) in query expression"[姓名]=[姓名]and[性别]=男and[政治面貌]=党员"
请问大家这是什么问题呢。。
单词字段之间少空格,全连在一块了...
DbStr = DbStr + " and [性别]=" + Combo1.Text + " "
End If
If Check1(1).Value = 1 And Not IsNull(Combo2.Text) Then
DbStr = DbStr + " and [政治面貌]=" + Combo2.Text + " "
End If
If Check1(2).Value = 1 And Not IsNull(Combo3.Text) Then
DbStr = DbStr + " and [特长]=" + Combo3.Text + " "
End If 如上,3个and之前之后都要加空格,3个引号里最好也加上空格
这个不是在第一行就声明了吗???
出现select*from db where [姓名]=[姓名] [性别]=男 [政治面貌]=团员 [特长]=计算机
之后还是之前的问题
修正你的语句,把最后打印出来DbStr该成这样应该就可以了:你的原句:select*from db where [姓名]=[姓名] [性别]=男 [政治面貌]=团员 [特长]=计算机
修改后 :select * from db where [姓名]=[姓名] and [性别]='男' and [政治面貌]='团员' and [特长]='计算机'