Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 375|回复: 2

老铁们急需一段查询代码,请老铁们不吝赐教

[复制链接]
发表于 2023-10-4 09:31 | 显示全部楼层 |阅读模式
查询数据库内容的代码.zip (335.23 KB, 下载次数: 42)
发表于 2023-10-7 18:19 | 显示全部楼层
  1. Sub try()
  2. Dim conn As Object, sql As String, arr, sr As String
  3. Set conn = CreateObject("adodb.connection")
  4. arr = Sheets("处理明细查询").Range("b2:i3")

  5. If arr(2, 1) And arr(2, 2) Then sr = Replace(arr(1, 1), "(从)", "") & " >=#" & arr(2, 1) & "# And " & Replace(arr(1, 2), "(到)", "") & " <=#" & arr(2, 2) & "# or "
  6. If arr(2, 1) And arr(2, 2) = "" Then sr = sr & Replace(arr(1, 1), "(从)", "") & " >=#" & arr(2, 1) & "# or "
  7. If arr(2, 2) And arr(2, 1) = "" Then sr = sr & Replace(arr(1, 2), "(到)", "") & " <=#" & arr(2, 2) & "# or "
  8. If Len(arr(2, 3)) Then sr = sr & arr(1, 3) & " = '" & arr(2, 3) & "' or "
  9. If Len(arr(2, 4)) Then sr = sr & arr(1, 4) & " = '" & arr(2, 4) & "' or "
  10. If Len(arr(2, 5)) Then sr = sr & arr(1, 5) & " = '" & arr(2, 5) & "' or "
  11. If Len(arr(2, 6)) Then sr = sr & arr(1, 6) & " = '" & arr(2, 6) & "' or "
  12. If arr(2, 7) And arr(2, 8) Then sr = sr & Replace(arr(1, 7), "(从)", "") & " >=#" & arr(2, 7) & "# And " & Replace(arr(1, 8), "(到)", "") & " <=#" & arr(2, 8) & "#"
  13. If arr(2, 7) And arr(2, 8) = "" Then sr = sr & Replace(arr(1, 7), "(从)", "") & " >=#" & arr(2, 7) & "# or "
  14. If arr(2, 8) And arr(2, 7) = "" Then sr = sr & Replace(arr(1, 8), "(到)", "") & " <=#" & arr(2, 8) & "#"
  15. If InStr(sr, "or") Then sr = Replace(sr, " or ", "")
  16. If sr = "" Then
  17. MsgBox "请输入查询明细"
  18. Exit Sub
  19. End If

  20. sql = "select * from 处理页 where " & sr
  21. conn.Open "provider=Microsoft.jet.OLEDB.4.0;data source=" & ThisWorkbook.Path & "\订单登记表.mdb"
  22. Sheets("处理明细查询").UsedRange.Offset(7, 0).ClearContents
  23. Sheets("处理明细查询").Range("a8").CopyFromRecordset conn.Execute(sql)
  24. conn.Close
  25. Set conn = Nothing
  26. End Sub
复制代码


我也就学了sql几天,简单试了一下可以用,试试吧,你这个做得我迷迷糊糊

评分

参与人数 1学分 +2 收起 理由
代码小菜鸟 + 2 学习了

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2023-10-11 08:23 | 显示全部楼层
uuiu 发表于 2023-10-7 18:19
我也就学了sql几天,简单试了一下可以用,试试吧,你这个做得我迷迷糊糊

感谢老铁的,倾囊相授,测试了一下貌似按照设备号搜索是没问题的,但是其他条件,比如订单日期几号到几号或者到货日期几号到几号 都不能搜索,包括双条件的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-29 05:30 , Processed in 0.230750 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表