vb 排序问题 着急!!!!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/07/08 01:36:19
vb MSHFlexGrid1控件 (简称MS1)

序号 留言单位 留言内容 接收单位
1 张三 AAAA 王二麻子
2 李四 BBBB 王二麻子
3 王五 CCCC 王二麻子
4 冯六 DDDD 王二麻子
5 张三 DDDD 王二麻子

当点击Option1后
按照留言单位的姓氏第一个字的拼音顺序排列 并且相同姓名的序号按照从小到大排序

序号 留言单位 留言内容 接收单位
4 冯六 DDDD 王二麻子
2 李四 BBBB 王二麻子
3 王五 CCCC 王二麻子
1 张三 AAAA 王二麻子
5 张三 DDDD 王二麻子

就像Excel里面的排序一样
俺是vb棒槌 需要代码 越详细越好
我用的是vb6.0 我需要代码 谢谢了

这样 按照我的意思能排出来就可以 不用姓名首字也可以 按照相同姓名按序号顺序排序也可以
有没有详细的代码??

MSHFlexGrid1的数据你大概应该是通过sql查询的得到吧?

如果是,就在查询的sql字符串里加上那个“排序子句”就可以了:
select *** from *** where *** ORDER BY 留言单位
注:小写的和星号,都是你原来的(你那部分没有,仍不要)。大写和汉字是应该添加的(留言单位,这四个字应该换成泥数据库里这一列的名字)

如果不是,我就不知道了。

Option Explicit
Public conn As New ADODB.Connection ''定义数据连接字符串
Public rs As New ADODB.Recordset ''定义记录集
Dim appdisk$, aa$, db$, trecord%, rowsel%, i%, j%
Private Sub Form_Load()
appdisk = Trim(App.Path)
If Right(appdisk, 1) <> "\" Then appdisk = appdisk & "\"
db = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & appdisk & "bwscale.mdb"
conn.CursorLocation = adUseClient
conn.Open db ''打开数据库连接
sSQL=""
sSQL= sSQL & "select 序号,留言单位,留言内容,接收单位 from table"
if Option1.checked=true then
sSQL=sSQL & "order by 留言单位"
end if
rs.Open sSQL,