在vba中获取错误并且无法弄清楚

时间:2015-10-21 00:09:00

标签: vba

尝试在按下按钮时让这段代码正常工作,但是我得到了这个erorr

" Microsoft Accces与OLE服务器或Acitve X Control进行通信时出现问题。"

这是代码

enter code here

Private Sub Command36_Click()

Dim months2, years2, countyID2 As Integer
Dim dr As SqlDataReader
Dim dbs As DAO.Database
Dim rs As DAO.Recordset
Set dbs = CurrentDb
Dim SQL

months2 = txtMonths.Value
years2 = txtYears.Value
countyID2 = txtCountyID.Value

Set rs = dbs.OpenRecordset(SQL)


DoCmd.RunSQL "select * from Rule where ChangedFlag = 1 and Years = " +         years2 + " and Months = " + months2 + " and CountyID = " + countyID2 + ""

If IsNull(rs) Then MsgBox "Hearing dates are already assigned! Please choose   another county, year, or month!"
Else
DoCmd.RunSQL "insert into Rule values (Years, Months, CountyID) Values  (years2, months2, countyID2)"

End Sub

2 个答案:

答案 0 :(得分:0)

brew uninstall libtool
brew install libtool
brew uninstall jpeg
brew install jpeg
brew link --overwrite jpeg
brew unlink freetype && brew link freetype

在你的第二个SQL语句中,你试图插入文字值" years2"," months2"和" countyID2"。

将其与您的第一个陈述相比较......

答案 1 :(得分:0)

GD Jordan,

您的错误表示您未获得与数据库的连接。哪个是有意义的,因为你没有说明应该在哪里或什么对象上进行连接。

在您的代码中,您已声明SQL并随后在OpenRecordSet(SQL)语句中使用它,但未定义变量SQL(即它已声明但不包含任何值或用于执行OpenRecordSet()方法的信息)

请参阅:https://msdn.microsoft.com/en-us/library/office/ff820966.aspx 有关正确使用OpenRecordSet()方法的更多信息。

一旦检查到您确实获得了连接(例如,使用VB编辑器中的调试器),您就可以确定您希望代码与rs对象进行交互的方式。

顺便说一句,您的代码有更多错误,但让我们专注于首先获取连接...

祝你好运!