对DATA & DBGRID绑定数据排序完成

OLD_VB_FAN OLD_VB_FAN 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
排序原代码,允许对任意3个字段进行排序:

Private Sub cmdSort_Click()
Dim db As Database 'db 数据库
Dim strSqlNew As String
Dim strSqlDel As String
Dim strSqlRestore As String
Dim strSqLDrop As String
Set db = OpenDatabase(App.Path & "\mlc.mdb")
Dim strFDN1 As String
Dim strFDN2 As String
Dim strFDN3 As String
Dim strFDN As String

Dim cmbSelectzd1 As ComboBox
Dim cmbSelectzd2 As ComboBox
Dim cmbSelectzd3 As ComboBox
Set cmbSelectzd1 = cmbZD1
Set cmbSelectzd2 = cmbZD2
Set cmbSelectzd3 = cmbZD3


If optAsc1.Value = False Then
strFDN1 = cmbSelectzd1.List(cmbSelectzd1.ListIndex) & " Desc"
Else
strFDN1 = cmbSelectzd1.List(cmbSelectzd1.ListIndex) & " ASC"
End If

If optAsc2.Value = False Then
strFDN2 = cmbSelectzd2.List(cmbSelectzd2.ListIndex) & " Desc"
Else
strFDN2 = cmbSelectzd2.List(cmbSelectzd2.ListIndex) & " ASC"
End If

If optAsc3.Value = False Then
strFDN3 = cmbSelectzd3.List(cmbSelectzd3.ListIndex) & " Desc"
Else
strFDN3 = cmbSelectzd3.List(cmbSelectzd3.ListIndex) & " ASC"
End If



Select Case cmbSelectzd1.List(cmbSelectzd1.ListIndex)
Case ""
strFDN1 = ""
Select Case cmbSelectzd2.List(cmbSelectzd2.ListIndex)
Case ""
strFDN2 = ""
Select Case cmbSelectzd3.List(cmbSelectzd3.ListIndex)
Case ""
strFDN3 = ""
MsgBox "选择参数有误或未进行选择,请重新选择!", 64, "错误的选择"
Exit Sub
Case Is <> ""
strFDN = strFDN3
End Select

Case Is <> ""
Select Case cmbSelectzd3.List(cmbSelectzd3.ListIndex)
Case ""
strFDN = strFDN2
Case Is <> ""
strFDN = strFDN2 + ", " + strFDN3
End Select
End Select


Case Is <> ""
Select Case cmbSelectzd2.List(cmbSelectzd2.ListIndex)
Case ""
strFDN2 = ""
Select Case cmbSelectzd3.List(cmbSelectzd3.ListIndex)
Case ""
strFDN3 = ""
strFDN = strFDN1
Case Is <> ""
strFDN = strFDN1 + ", " + strFDN3
End Select

Case Is <> ""
Select Case cmbSelectzd3.List(cmbSelectzd3.ListIndex)
Case ""
strFDN = strFDN1 + ", " + strFDN2
Case Is <> ""
strFDN = strFDN1 + "," + strFDN2 + ", " + strFDN3
End Select


End Select
End Select




If cmbSelectzd1.List(cmbSelectzd1.ListIndex) = cmbSelectzd2.List(cmbSelectzd2.ListIndex) Or cmbSelectzd2.List(cmbSelectzd2.ListIndex) = cmbSelectzd3.List(cmbSelectzd3.ListIndex) Or cmbSelectzd1.List(cmbSelectzd1.ListIndex) = cmbSelectzd3.List(cmbSelectzd3.ListIndex) Then
MsgBox "选择参数有误,请重新选择!", 64, "错误的选择"
Exit Sub
Else
End If



strSqlNew = "select * into " & "new" & RCName & " from " & RCName & " order by " & strFDN
db.Execute strSqlNew
'MsgBox "完成临时表建立", 64, "Temp table created!"


strSqlDel = "delete * from " & RCName
db.Execute strSqlDel
'MsgBox "完成原表记录删除", 64, "delete records in old table!!!"

strSqlRestore = "insert into " & RCName & " select * from new" & RCName
db.Execute strSqlRestore
'MsgBox "完成临时表数据回写至原表", 64, "Trans data!!!"

strSqLDrop = "drop table new" & RCName
db.Execute strSqLDrop
'MsgBox "完成临时表删除", 64, "Delete temp table"
db.Close


frmTableShow.Dataconnect.Refresh
frmTableShow.DBGrid1.Refresh

Unload Me
End Sub
...全文

相关推荐

在Delphi中使用DBGrid处理多条记录

摘要:Delphi源码,数据库应用,DBGrid  在Delphi中使用DBGrid处理多条记录,程序界面如上图所示,需要连接数据库才能显示记录,测试前请连接Database文件夹内的数据库文件。

weixin_38673924

Delphi数据库访问组件IBDAC实战:Firebird/InterBase原生连接与性能优化

数据库访问组件是Delphi开发中的关键环节,传统中间层如BDE、ADO、dbExpress在性能、兼容性和部署方面存在诸多痛点。原生连接技术通过直接调用数据库客户端API,绕过冗余中间层,能显著提升数据交互效率与稳定性。IBDAC作为专为InterBase和Firebird设计的组件库,全面支持Delphi 6至13,具备轻量部署、低学习成本和持续更新等优势,广泛应用于存量系统改造、ERP进销存、移动端数据同步等场景。本文围绕IBDAC v9.0.0的安装部署、核心组件使用、事务控制、字符集处理、大数据量

weixin_34121282

DevExpress VCL 26.1.3安装实战与Delphi桌面开发效率提升指南

在Delphi桌面开发中,组件库的选择直接影响企业级管理系统的构建效率。DevExpress VCL作为商业级VCL控件集,通过封装复杂表格、报表、Ribbon界面等底层逻辑,让开发者从重复造轮子中解放出来,专注于业务实现。其安装配置看似简单,实则涉及IDE版本匹配、环境清理、设计期包注册等关键环节。本文从组件库的技术价值出发,梳理DevExpress VCL的完整安装流程与验证方法,剖析cxGrid、dxRibbon、cxTreeList等核心控件的功能定位,并延伸至FireMonkey跨平台、PDA扫码

weixin_34203832

VB数据库编程DBGRID32.OCX控件

VB数据库编程DBGRID32.OCX控件 企业版的VB默认安装没有注册这个控件,需要自己手动注册,注册后便可以在VB工具箱右键部件选择使用,

TelNet2010

Delphi ADO查询示例 DBGrid显示数据.rar

Delphi ADO查询示例 DBGrid显示数据.rar-

chunyangsuhao
评论 5
收藏 已收藏
分享
返回顶部
OLD_VB_FAN
非技术类 743 成员 26,904 内容