access是排好序的,可为何在datagrid里就不按access的顺序排序呢?
access是排好序的,可为何在datagrid里就不按access的顺序排序呢? SQL语句的问题吧? Private Sub Text9_Change()If Text9.Text <> "" Then
searchSQL = "select * from drv_temp_mid where 编号 like '%" & Trim(Text9.Text) & "%' or xm like '%" & Trim(Text9.Text) & "%' or sfzmhm like '%" & Trim(Text9.Text) & "%' or djzsxxdz like '%" & Trim(Text9.Text) & "%' or 备注 like '%" & Trim(Text9.Text) & "%' or zkcx like '%" & Trim(Text9.Text) & "%'"
End If
Adodc3.RecordSource = searchSQL
Adodc3.Refresh
End Sub
请看看 SQL的order by 语句…… order by 语句用了,界面打开时是按编号列排序了,可当Text9发生变化时就有回到原来的排序状态了。
比如access里有1-10个编号,我将6改成9,9改成6,(access里排序成123456789),界面打开时atagrid排序123456789,
可当我在Text9里输入1时,就有变成123459786了,好苦闷! Text9发生变化时的SQL语句同样写ORDER BY 写了Adodc3.Refresh显示出错,因该怎么写呢?谢谢 Adodc3.Refresh就是这样!
你可以考虑在加一句排序语句。
在Text9_Change的事件里执行这样的查询语句,有些不妥! 就算我建一个排序命令,
Private Sub Command6_Click()
searchSQL = "select * from drv_temp_mid ORDER by 编号"
Adodc3.RecordSource = searchSQL
Adodc3.Refresh
End Sub
运行排序成123456789
可一旦在text9里输入数据
就又排成123459786
好烦闷
[[it] 本帖最后由 sznt 于 2008-5-9 21:03 编辑 [/it]] 理解好“.Refresh”!所以在Text9_Change的事件里执行这样的查询语句,有些不妥! 我的思路是text9动态变化,模糊查询动态跟着变化时,排序始终以编号列排序,可总实现不了。 没有解决的办法了么? Private Sub Text9_Change()
If Text9.Text <> "" Then
searchSQL = "select * from drv_temp_mid where 编号 like '%" & Trim(Text9.Text) & "%' or xm like '%" & Trim(Text9.Text) & "%' or sfzmhm like '%" & Trim(Text9.Text) & "%' or djzsxxdz like '%" & Trim(Text9.Text) & "%' or 备注 like '%" & Trim(Text9.Text) & "%' or zkcx like '%" & Trim(Text9.Text) & "%' ORDER by 编号"
End If
Adodc3.RecordSource = searchSQL
End Sub Adodc3.RecordSource = searchSQL
Adodc3.Refresh
End Sub
谢谢,Adodc3.Refresh还得加在Adodc3.RecordSource = searchSQL之后,不然会不动态变化,
谢谢了,问题圆满解决。
页:
[1]
