【发布时间】:2014-02-07 23:42:08
【问题描述】:
这可能以前已经回答过了,但是在寻找时,我找不到适合我情况的答案。我正在编写一个 Access 2003 表单按钮来运行 If/Then 并在单击时根据该语句执行一些命令。但是,每次单击时我都会收到“需要对象”错误。我对 VBA 代码还比较陌生,所以请温柔一点。
代码如下:
Private Sub Button_Click()
On Error GoTo Err_Button_Click
Dim Db As Object
Set Db = CurrentDb
Dim waveset As DAO.Recordset
Set waveset = Db.OpenRecordset("SELECT countervalue FROM dbo_tblSettings")
Dim orderfile As String
orderfile = "\\serverfolder\serverfile.csv"
If Value.waveset > 0 Then
MsgBox "Orders Already Imported; Please Proceed to Next Step", vbOKOnly, "Step Complete"
GoTo Exit_Button_Click
ElseIf Value.waveset = 0 Then
DoCmd.RunSQL "DELETE FROM dbo_tblOrders", True
DoCmd.TransferText acImportDelim, , "dbo_tblOrders", orderfile, True
DoCmd.RunSQL "UPDATE dbo_tblOrders INNER JOIN dbo_MainOrderTable ON dbo_tblOrders.[channel-order-id]=dbo_MainOrderTable.[order-id] " _
& "SET dbo_MainOrderTable.[order-id] = dbo_tblOrders.[order-id], dbo_MainOrderTable.[channel-order-id] = dbo_tblOrders.[channel-order-id], " _
& "dbo_MainOrderTable.[Order-Source] = 'Amazon'" _
& "WHERE dbo_tblOrders.[sales-channel]='Amazon';", True
DoCmd.RunSQL "UPDATE dbo_AmazonOrderTable INNER JOIN dbo_tblOrders ON dbo_AmazonOrderTable.[order-id]=dbo_tblOrders.[channel-order-id] " _
& "SET dbo_AmazonOrderTable.[order-id] = dbo_tblOrders.[order-id], dbo_AmazonOrderTable.[channel-order-id] = dbo_tblOrders.[channel-order-id], " _
& "dbo_AmazonOrderTable.[sales-channel] = 'Amazon' " _
& "WHERE dbo_tblOrders.[sales-channel]='Amazon';", True
DoCmd.RunSQL "UPDATE dbo_tblSettings SET countervaule=1", True
Else
GoTo Exit_Button_Click
End If
Exit_Button_Click:
Exit Sub
Err_Button_Click:
MsgBox Err.Description
Resume Exit_Button_Click
End Sub
-哦!忘了提我想这样做,因为这些表实际上是链接到 SQL 服务器后端的表......我也一直在试图弄清楚如何打开与我的 SQL 服务器的连接并通过以下方式操作表VBA 代码,而无需在 Access 中链接它们......但这完全是另一篇文章
任何帮助将不胜感激。谢谢
【问题讨论】:
-
Value.waveset看起来很可疑。它应该是什么?确保在代码模块的声明部分中包含Option Explicit,然后从VB 编辑器的主菜单运行调试->编译。当你这样做时,你的代码编译是否没有错误? -
我首先要确保
On Error GoTo Err_Button_Click有一个相应的标签/代码。我只看到Exit_Button_Click和Err_DotComBBWTableRefresh_Click:... -
对不起,我试图去掉所有对实际业务的引用...Err_DotComBBWTableRefresh_Click 应该是 Err_Button_Click...:/
标签: sql vba ms-access ms-access-2003