Office中国论坛/Access中国论坛

标题: access和sql如何能结合使用? [打印本页]

作者: winner    时间: 2006-5-15 19:33
标题: access和sql如何能结合使用?
我建了一个名叫Front的ACCESS文件,里面建了几个窗体;然后我又建了一个名叫Back的SQL数据库,所有表都存在SQL数据库中(ACCESS里只有窗体),请问如何把ACCESS和SQL连接起来呢?哪里有这方面的教材看看?谢谢!
作者: tz-chf    时间: 2006-5-15 19:47
用adp
作者: winner    时间: 2006-5-15 19:59
Option Compare Database

Private Sub btnClose_Click()
On Error GoTo Err_btnClose_Click


    DoCmd.Close

Exit_btnClose_Click:
    Exit Sub

Err_btnClose_Click:
    MsgBox Err.Description
    Resume Exit_btnClose_Click
   
End Sub

Private Sub btnSave_Click()
   Dim errMsg As String
   
   If IsNull(Me.cCusCode) Then
      errMsg = errMsg + "客户编码不能为空" & vbCrLf
   End If
   If IsNull(Me.cCusName) Then
      errMsg = errMsg + "客户名称不能为空" & vbCrLf
   End If
   
   If errMsg <> "" Then
      MsgBox "错误信息:" & vbCrLf & "------------------------------------------" & vbCrLf & errMsg & "------------------------------------------", vbCritical + vbOKOnly, "提示"
      Exit Sub
   End If
   

On Err GoTo Err

'----
Dim BMS_cCusCode As String
Dim BMS_cCusName As String
Dim BMS_cCusAbbName As String
'----

'----
If Not IsNull(Me.cCusCode) Then BMS_cCusCode = Me.cCusCode
If Not IsNull(Me.cCusName) Then BMS_cCusName = Me.cCusName
If Not IsNull(Me.cCusAbbName) Then BMS_cCusAbbName = Me.cCusAbbName

'----

'----
   Dim prmCustomer As ADODB.Parameter
   Dim cmdCustomer As ADODB.Command
   Dim rstCustomer As ADODB.Recordset
   Dim conn As ADODB.Connection
   Dim connStr As New connStr
   
   Set cmdCustomer = New ADODB.Command
   cmdCustomer.CommandText = "BMS_SP_CustomerInfo_Add"
   cmdCustomer.CommandType = adCmdStoredProc
'----

'----
cmdCustomer.Parameters.Append cmdCustomer.CreateParameter("cCusCode_1", adVarChar, adParamInput, 20)
cmdCustomer.Parameters.Append cmdCustomer.CreateParameter("cCusName_2", adVarChar, adParamInput, 98)
cmdCustomer.Parameters.Append cmdCustomer.CreateParameter("cCusAbbName_3", adVarChar, adParamInput, 60)

'----
'----
cmdCustomer.Parameters("cCusCode_1").value = BMS_cCusCode
cmdCustomer.Parameters("cCusName_2").value = BMS_cCusName
cmdCustomer.Parameters("cCusAbbName_3").value = BMS_cCusAbbName

'----

'----
   Set conn = New ADODB.Connection
   conn.Open connStr.connStr

   
   If conn.State = 0 Then
      MsgBox "登录失败:" & vbCrLf & "------------------------------------------" & vbCrLf & "当前网络连接失败,请稍候再试" & vbCrLf & "------------------------------------------", vbCritical + vbOKOnly, "提示"
      Exit Sub
   End If
   
   Set cmdCustomer.ActiveConnection = conn
   Set rstCustomer = cmdCustomer.Execute()
   
   '刷新数据
   conn.Close
   Set cmdCustomer = Nothing
   Set rstCustomer = Nothing
   Set prmCustomer = Nothing
   
   MsgBox "成功保存!", vbInformation + vbOKOnly, "提示"
   DoCmd.Close acForm, Me.Name
   Exit Sub
   
Err:
   MsgBox Err.Description, vbCritical + vbOKOnly, "错误提示"
   errMsg = ""
   Exit Sub
End Sub

红色部分似乎是连接SQL数据库的,但我不明白:为什么它没写名连接数据库的名称,这样都可以连接到,是不是在其他地方有设置的?(我是菜鸟,对一些太专业的名词不太懂,所以不明 2 楼说的是什么)[em04]
作者: hi-wzj    时间: 2006-5-15 20:17
将sql数据库链接将来呀?菜单:文件--》获取外部数据--》链接表...--》文件类型:odbc数据库--》机器数据源--》......

[此贴子已经被作者于2006-5-15 12:19:10编辑过]


作者: winner    时间: 2006-5-15 20:59
哦,我就是这样连的,我还以为要另外再搞点东西呢!谢谢啦!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3