vb中简单问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 13:33:45
写了一个简单的管理系统,请问如何屏蔽combo2里的重复项,然后要access表里的数据按学号字段排列?
Private Sub Combo1_Click()
Combo2.Clear
Dim SQL As String
Dim rs As New ADODB.Recordset
Dim connectionstring As String
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb;"
conn.Open connectionstring
SQL = "select * from students where 班级 =" & Combo1.Text & ""
Set rs = conn.Execute(SQL)
While rs.EOF = False
Combo2.AddItem rs.Fields(2)
rs.MoveNext
Wend
End Sub
Private Sub Combo2_click()
Dim SQL As String
Dim rs As New ADODB.Recordset
Dim connectionstring As String
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb;"
conn.Open

SQL = "select * from students where 班级 =" & Combo1.Text & "'order by 学号 desc"
Set rs = conn.Execute(SQL)
While rs.EOF = False
i=0
for 0 to Combo2.ListCount - 1
If Combo2.List(i) = rs.Fields(2) Then i = i + 1
next
if i=0 then
Combo2.AddItem rs.Fields(2)
end if
rs.MoveNext
Wend
End Sub

看得头疼啊~~~~
建议关于数据库的操作都写成函数放到模块里,程序中只用改sql语句就行了,那么长一串代码,看得好烦

1.请问如何屏蔽combo2里的重复项

在sql中用distinct 唯一化该字段

比如你加到combo中的字段名为姓名

SQL = "select distinct 姓名 from students where 班级 =" & Combo1.Text & ""

2.然后要access表里的数据按学号字段排列?

sql中用order by 学号

SQL = "select * from students where 姓名='" & Combo2.Text & "' and 课程 ='" & Combo3.Text & "' and 班级 =" & Combo1.Text & " order by 学号 "

下面是一个完整版本的。。。

Private Sub Combo1_Click()
Combo2.Clear
Dim SQL