sql server拼接字符串函数
VBA连接中连接sqlaccess等数据的方法 收藏
Dim CNN As New ADODB.Connection 定义一个新的ADO对象连接
 
Dim RST As New ADODB.Recordset 定义一个ADO对象数据集
Dim Stpath, strSQL As String定义路径、查询变量
 
Stpath = ThisWorkbook.Path & Application.PathSeparator & ".mdb"定义路径及文件名
 
CNN.Open "provider=Microsoft.jet.OLEDB.4.0;data source=" & Stpath '& ";Jet OLEDB:Database Password=" & "123"打开链接:
provider=Microsoft.jet.OLEDB.4.0是软件提供者为Microsoft.jet.OLEDB.4.0
data source=" & Stpath 是链接数据源为Stpath
Jet OLEDB:Database Password=" & "123"是如果ACCESS数据库设置有保护密码,此句必不可少
If ComboBox3.Value = "" Then如果性别的框中为空则
strSQL = "Select * from 档案 WHERE 籍贯 LIKE '" & ComboBox2.Value & "'"从档案表中查籍贯为ComboBox2的记录
Select*是查所有符合条件的字段,如果想查符合条件并显示出具体字段,可以用SELECT 字段名1,字段名2....from 档案是从档案表中查符合 籍贯 LIKE '" & ComboBox2.Value & "'" 的记录
WHERE后为查的条件
ElseIf ComboBox2.Value = "" Then
strSQL = "Select * from 档案 WHERE 性别 LIKE '" & ComboBox3.Value & "'"
Else
strSQL = "Select * from 档案 WHERE 性别 LIKE '" & ComboBox3.Value & "'" & "AND 籍贯 LIKE '" & ComboBox2.Value & "'"
End If
以上几句为当选取项目不同时设置不同的查语句
 RST.Open strSQL, CNN打开记录集
recordset.Open
   Source(来记录来源),
   ActiveConnection(打开的链接)
 
Sheet1.Range("A2:G100").ClearContents Sheet1.Cells(2, 1).CopyFromRecordset RST
CopyFromRecordset 方法
将一个 ADO DAO Recordset 对象的内容复制到工作表中,复制的起始位置在指定区域的左上角,Sheet1.Cells(2, 1).CopyFromRecordset RST为把查到的记录得制到以Sheet1.Cells(2, 1)为顶点的单元格区域中 RST.Close关闭记录集
Set RST = Nothing释放对象变量
Set CNN = Nothing
2实现查询功能(ADO+SQL
On Error GoTo 100
 If TextBox1.Text = "" Then
 MsgBox "请输入姓名", 1 + 16, "系统提示" TextBox1.SetFocus
Else
 Dim CNN As New ADODB.Connection
 Dim RST As New ADODB.Recordset
Dim Stpath, strSQL As String
Stpath = ThisWorkbook.Path & Application.PathSeparator & ".mdb"
CNN.Open "provider=Microsoft.jet.OLEDB.4.0;data source=" & Stpath '& ";Jet OLEDB:Database Password=" & "123"
 strSQL = "Select * from 档案 WHERE 姓名 LIKE '" & TextBox1.Value & "'"
 RST.Open strSQL, CNN
TextBox2.Value = RST.Fields("年龄").Value
TextBox4.Value = RST.Fields("性别").Value
 TextBox5.Value = RST.Fields("籍贯").Value
 RST.Close
Set RST = Nothing
Set CNN = Nothing
 End If
Exit Sub
 100: MsgBox "不到符合条件的记录", 1 + 16, "系统提示"
实现查询功能(DAO
On Error GoTo 100
 If TextBox1.Text = "" Then
MsgBox "请输入姓名", 1 + 16, "系统提示"
TextBox1.SetFocus
Else
 Dim RS1 As Recordset
 Dim DB1 As Database
Set DB1 = OpenDatabase(ThisWorkbook.Path & "\" & ".MDB")
Set RS1 = DB1.OpenRecordset(Name:="档案", Type:=dbOpenDynaset)
RS1.FindFirst "姓名='" & TextBox1.Value & "'"
If RS1.NoMatch = True Then
 MsgBox "对不起,没有该记录"
RS1.Close
Exit Sub
Else
 TextBox2.Value = RS1.Fields("年龄").Value
TextBox4.Value = RS1.Fields("性别").Value
 TextBox5.Value = RS1.Fields("籍贯").Value

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。