Select(从数据库中检索数据)

Select(从数据库中检索数据),第1张

Select(从数据库中检索数据),第2张

在SQL语言中,最基本、最常用,但也是最难完全理解的——select语句。在解释Select的语法时,我一直想像之前解释的那样用中文写,但最后还是决定, 先把英文原文语法写在这里:
Select _ list
[into new _ table]
from table _ source
[where search _ condition]
[group by group _ by _ expression]
[order by order _ expression[ASC | desc]]
如果要改变我之前解释的方式,大测提示:可以理解为:
选择列名1 列名2、……
[Into new table name]
From table name[where { condition }]
[Group By组合列名1、组合列名2、……]
[Having {组合条件}]
[Order By sort column name 1、sort column name 2、…… [Asc|Desc]]
where []不是必须的,但今天我们作为第一步给出一个最简单的应用示例,不包含全部。 要使用CopyFromRecordset,可以参考VBA帮助或者本网站的文章:http://www.examda.com
。为了便于您将来运行代码,我们在http://www.examda.com上传了一个示例文件,其中包含三个文件。数据库文件-发票表。mdb和Excel文件-发票表。xls是保存数据的文件,也是主文件。xls是主程序文件。以后大家的代码都可以添加到这个文件的新模块里,然后就可以运行程序代码了。
Sub:读取进销存表数据库中的明细表数据()[/Br/]dimconnasaddb . connection[/Br/]dimwnasstring[/Br/]Dim tablename asstring[/Br/]dims SQL asstring[/Br/]Dim xsh as workshop[/Br/]Dim Sran as range[/Br/]Dim Colnum as integer[/Br/]Dim II as integer[/Br/]wn = " purchase, sale and storage table . MDB "/br/]TableName = " detailed list "
'要写入的工作表名称
set xsh = this workbook . worksheets(" detailed list ")
'标题开始单元格
sets ran = xsh . range(" a1 ")
标题列数
colnum = 5
set conn = new adodb . connection
conn . connectionstring = " provider = Microsoft . jet . oledb . 4.0 & _
"数据源=" & ThisWorkbook。path & " \ " & WN
conn . Open
如果conn.State = adStateOpen,则
sSql = " Select "
For ii = 1 To ColNum
sSql = sSql & sRan。偏移量(0,ii - 1)。Value & ","
Next
sSql = Left(sSql,Len(sSql)-1)& " From " & TableName
sRan偏移量(1,0)。从记录集conn.execute复制(ssql)
msgbox "成功读取" " & TableName & " "!",“http://exmoda . com”
conn . close
end if
set conn = nothing
end Sub
同样,我们也给出一个读取购销存表列表中数据的程序. xls,代码如下:
Sub。读取购销存表文件中明细表的数据()
Dim conn As adodb . connection
Dim wn As String
Dim tablename As String]Dim sSql As String
Dim xSh As Worksheet
Dim sRan As Range
Dim ColNum As Integer
Dim ii As Integer
WN = " invoicing table . xls "
tablename = " detailed list "
'名称Range("A1")
'标题列数
Colnum = 5
set conn = new adodb . connection
conn . connectionstring = " provider = Microsoft . jet . oledb . 4.0;"& "扩展属性= Excel 8.0"& "数据源=" & ThisWorkbook。path & " \ " & WN
conn . Open
如果conn.State = adStateOpen,则
sSql = " Select "
For ii = 1 To ColNum
sSql = sSql & sRan。偏移量(0,ii - 1)。Value & ","
Next
sSql = Left(sSql,Len(sSql)-1)& " From[" & TableName & " $]"
sRan。偏移量(1,0)。从记录集conn.execute复制(ssql)
msgbox "成功读取" " & TableName & " "!",“http://exmoda . com”
conn . close
end if
set conn = nothing
end sub
通过两个程序,我们可以初步了解Select。在接下来的几篇文章中,我们将带着SQL Excel的世界变得越来越精彩。让我们一起向前看。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » Select(从数据库中检索数据)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情