Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何把多条(代码自动生成)查询语句生成到一个查询中?

冷书生  发表于:2018-04-09 14:29:03  
复制

数据库表的每个前缀分别对应两个后缀_POINT 和 _lLINE

***********************************分割线**************************

  Dim dbs As Database

  Dim tdf As TableDef
  Dim strsql As String
  Dim strName As String
  Dim SQL As String
     
  Set dbs = CurrentDb
     
  For Each tdf In dbs.TableDefs
    strName = tdf.Name
    If Right(strName, 5) = "_LINE" Then
        SQL = SQL + IIf(SQL = "", "select ID,起点点号 AS 起点号,终点点号 AS 终点号,起点埋深 AS 起点深,终点埋深 AS 终点深,起点高程,终点高程,材质,埋设方式,线型 ,管径,探测时间,权属单位,工程编号,套管材料 AS 套管材质,要素代码,总孔数,已用孔数,条数 AS 流向根数,压力值 AS 压力,压力值 AS 电压,勘测单位,使用状况,流向,入库时间,更新时间,备注,专业注记内容,专业注记X坐标,专业注记Y坐标,专业注记角度,辅助类型,删除标记,走向,道路名称 AS 所在道路 from " & strName & " " & Chr(13) + Chr(10), " union " & Chr(13) + Chr(10) & _
 "select ID,起点点号 AS 起点号,终点点号 AS 终点号,起点埋深 AS 起点深,终点埋深 AS 终点深,起点高程,终点高程,材质,埋设方式,线型 ,管径,探测时间,权属单位,工程编号,套管材料 AS 套管材质,要素代码,总孔数,已用孔数,条数 AS 流向根数,压力值 AS 压力,压力值 AS 电压,勘测单位,使用状况,流向,入库时间,更新时间,备注,专业注记内容,专业注记X坐标,专业注记Y坐标,专业注记角度,辅助类型,删除标记,走向,道路名称 AS 所在道路 from " & strName & " ")
    End If
  Next tdf
  
Debug.Print SQL

****************************代码分割线**************************

以上是按钮的代码,运行后会在立即窗口显示如下:

代码能实现把需要的查询语句生成到立即窗口中显示,但每次执行前都有运行一次,然后打开立即窗口,再把立即窗口中的这些查询语句复制粘贴到一个查询里去执行才能生成新表

如何自动实现? 谢谢

 

Top
大海 发表于:2018-04-09 14:36:45
Debug.Print SQL改为CurrentDb.Execute SQL试试

zhf_2003 发表于:2018-04-30 10:38:55

 建好一个查询,比如:sheet1,

  

Debug.Print SQL改为
 CurrentDb.QueryDefs("sheet1").SQL = SQL






总记录:2篇  页次:1/1 9 1 :