Access交流中心

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

如何显示查询结果

chinasa  发表于:2017-03-16 13:30:23  
复制

  Dim rst As DAO.Recordset '定义一个DAO方式的记录集
  Dim strSQL As String
    strSQL = "select * from test"
    Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)

 

我想把上述查询结果显示出来,一定要借助窗体吗?是否可以类似ACCESS查询视图一样,显示查询结果?

 

Top
缪炜 发表于:2017-03-16 16:44:30
肯定要窗体,不然写了这个代码干嘛

chinasa 发表于:2017-03-16 16:56:33

管理员您好,我的意思是,是否有办法象ACCESS查询视图一样的,能够展示查询结果?



chinasa 发表于:2017-03-16 17:02:56

其实我遇到的问题是:

1.我通过ODBC链接表,链接ORACLE数据库以后,再使用查询向导建立查询,运行查询并能看到查询结果的时间大概需要1秒。

2.我把上述查询的SQL语句复制下来,通过ADO访问ORACLE数据库,并写入到临时表,相同的检索检索条件,需要20多秒。

 

我测试过,一直到OPEN STRSQL这一步,只需要2秒左右,但如果我要MsgBox rst.RecordCount,则需要将近10秒,再加上写入临时表的几秒钟(如果没有MSGBXO这一步,那么写入临时表这一步就需要10多秒了),总共就要20多秒了。

 

而我只需要展示查看就可以了,并不一定需要写入临时表。所以就想各种办法提高效率。



chinasa 发表于:2017-03-16 17:09:33

connstr = "DRIVER={Microsoft ODBC for Oracle};SERVER=" & strDBName & ";UID=" & strUserID & ";PWD=" & strPassword & ";"
ConnDB.CursorLocation = adUseServer
ConnDB.Open connstr

DoCmd.SetWarnings 0

DSTAR = Forms!Open!DSTAR
DEND = Forms!Open!DEND

strSQL = "SELECT t1.A, t1.B" _
          & " FROM TABL1 t1 INNER JOIN TABLE2 t2 ON t1.XX_ID = t2.XX_ID" _
          & " WHERE ((to_CHAR(t1.DATE1,'yyyy-mm-dd') Between  '" & DSTAR & "' And '" & DEND & "') AND (SUBSTR(t1.ABC,1,3)= 'XXX') AND ((t2.DEF)='YYY'))"

rs.Open "test", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

rst.Open strSQL, ConnDB, 3, adLockPessimistic

'MsgBox rst.RecordCount

If rst.RecordCount > 0 Then
rst.MoveFirst
Do Until rst.EOF
rs.AddNew
rs![a] = rst("A")
rs![B] = rst("B")
rs.Update
rst.MoveNext
Loop
End If

MsgBox "ok"
rs.Close
Set rs = Nothing
rst.Close
Set rst = Nothing

ConnDB.Close
Set ConnDB = Nothing

 



chinasa 发表于:2017-03-16 17:11:40
帮助看看如何提高效率,万分感谢!

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