小编Han*_*sUp的帖子

为什么运行时错误“ 3061”。参数太少。预期1?Access 2010

我已经研究了所有的STACKOVERFLOW问题,但是无法使其正常工作。我有一个简单的表:

在此处输入图片说明

和形式:

在此处输入图片说明

我想从表T:ActityRoster中提取字段,并从表单中提取“活动日期”,然后将它们“添加”到表T:ActivityHistory中。

在此处输入图片说明

一个STACKOVERFLOW专家帮助了我一些代码,但它甚至没有设置第一个记录集:rsIn

Dim ActID As Integer, actDate As Date, val1 As Long, val2 As Long, val3 As Boolean, val4 As Currency

Dim db As Database, rsIn As Recordset, rsOut As Recordset

Dim strSQL As String

Set db = CurrentDb

ActID = Me.cboActivityName.Column(0)

strSQL = "SELECT * FROM T:ActivityRoster WHERE [ActivityID] = ActID"

Debug.Print strSQL

Set rsIn = db.OpenRecordset(strSQL, dbOpenDynaset, dbReadOnly)

rsIn.MoveLast

Set rsOut = db.OpenRecordset("T:AttendanceHistory", dbOpenDynaset, dbEditAdd)

rsOut.MoveLast

actDate = Me.ActivityDate.Value  ' retrive the date from the form …
Run Code Online (Sandbox Code Playgroud)

ms-access access-vba ms-access-2010

2
推荐指数
1
解决办法
2万
查看次数

VBA中的SQL语句

我试图在ACCESS 2013 VBA中运行以下SQL语句,但由于格式错误而导致错误(在这种情况下,我从语句结尾处得到"分号(;)缺失").有人可以告诉我,我在下面的代码中做错了吗?

Dim dbs As dao.Database

Set dbs = CurrentDb()

dbs.Execute "INSERT INTO TEMP2 ([Study_Date], [Created_By], [Part_Number], 
[Upper_Tolerance], [Lower_Tolerance], [ID21_Number]) VALUES ([Study_Date], 
[Created_By], [Part_Number], [Upper_Tolerance], [Lower_Tolerance], [ID21_Number]) 
FROM RAC_DATA_ENTRY 
WHERE [RAC_CAP_VALS] = '" & Me.[RAC_CAP_VALS] & "'"
Run Code Online (Sandbox Code Playgroud)

sql ms-access vba access-vba ms-access-2013

2
推荐指数
1
解决办法
159
查看次数

链接表上的 OpenRecordset?

我将几个大表从 AccessDB 分离到后端数据库,没有出现任何问题。

接下来,我需要打开一个记录集来替换各种麻烦的字符。当表位于本地时,以下代码段工作正常,但 Access 现在抱怨该表已链接,但未提供详细信息。

Dim rs3 As DAO.Recordset

'Step thru the Item table fix ' & " characters
Set rs3 = db.OpenRecordset("Item", dbOpenTable)
Do While Not rs3.EOF
    strDesc = Replace(Nz(rs3!DESC), Chr(39), Chr(39) & Chr(39))
    strDesc = Replace(Nz(rs3!DESC), Chr(34), "")
    rs3.MoveNext
Loop
Set rs3 = Nothing
Run Code Online (Sandbox Code Playgroud)

对于使用链接表完成此任务有什么建议吗?

ms-access vba

2
推荐指数
1
解决办法
3162
查看次数

从.ppt幻灯片中提取信息

如果我有一个.ppt幻灯片,我想从中提取信息,我为各个人在整个组织中使用的所有幻灯片设置模板,并且我知道每个文本框对象的所有"名称",

我可以使用一些vb将这些信息从.ppt幻灯片中提取到访问数据库中吗?

我知道如何获取访问表单并以相同的方式创建输入信息的ppt演示文稿,只需要反向过程.所以我假设如果我设置这些ppt幻灯片,并将所有文本框命名为我想要命名的那些,我应该能够在相反的方向上做到这一点,对吧?

ms-access powerpoint vba ms-access-2003 powerpoint-vba

1
推荐指数
1
解决办法
1166
查看次数

80个查询太多了吗?

我有一个包含数千条记录的大型数据库,我需要每周查询一次.然后,我必须使用Access Reports创建此数据的摘要.当我第一次创建数据库(我最近做过)时,我构建了几种类型的查询(大约80个),然后创建每个子报告,然后将这些子报告放在一个巨大的主报告中.

我之前从未使用过数据库,有些东西告诉我,也许我不应该有80个不同的查询,填充80个不同的子报表.我不知道,也许没关系.但这是我的问题,是否有任何理由我应该返回并重做其中一些查询并将它们合并为20或30(这将要求我重做子报告和主要报告),或者它是完全没问题的.将这么多查询保存在我的数据库中.

请记住,每个查询虽然每个只包含2或3个函数,但它有一个非常具体的任务,我无法完全摆脱,我只能通过组合几种类型的查询将这些函数添加到更大的查询中.另外,就像我说的那样,我必须每周使用这些查询,所以我真的不想像有些人选择的那样在运行中构建它们.

无论如何,有一些不可预见的问题,我有这么多的疑问,或者这是正常的吗?

sql database ms-access ms-access-2007

1
推荐指数
1
解决办法
984
查看次数

错误3061预期参数2太少

我一直面临错误3061,错误消息"参数太少:预期2".我已经完成了以下所有操作来解决问题,但仍然无法解决问题.

  1. 我在SQL模式下运行查询,它给了我结果
  2. 我检查了所有的字段名称
  3. 我检查了所有"&"的放置.我发现它们是正确的.

这是我的代码:

Private Sub cmbYear_Change()

    Dim db As Database
    Dim rs As DAO.Recordset
    Dim Query As String

    Query = " SELECT Yrs_Teaching, Highest_Edu, AD_Descr FROM ClassSurvey" & _
            " WHERE ClassSurvey.Program/School_ID = " & Me.cmbProgId.Value & _
            " AND ClassSurvey.ClassID = " & Me.cmbClassId.Value & _
            " AND ClassSurvey.Teacher_ID = " & Me.cmbTeacherID.Value & _
            " AND ClassSurvey.SYear = " & Me.cmbYear.Value


    Set db = CurrentDb
    Set rs = db.OpenRecordset(Query)

    If rs.RecordCount > 0 Then
        Me.TB1 = …
Run Code Online (Sandbox Code Playgroud)

ms-access access-vba

1
推荐指数
1
解决办法
2万
查看次数

仅选择特定行中具有不同值的记录

我有以下示例数据:

ID    Name    Street    Number    Code
100   John    Street1   1         1234
130   Peter   Street1   2         1234
135   Bob     Street2   1         5678
141   Alice   Street5   3         5678
160   Sara    Street1   3         3456
Run Code Online (Sandbox Code Playgroud)

现在我需要一个Query来只返回最后一条记录,因为它的Code是唯一的.

sql ms-access distinct duplicates ms-access-2010

1
推荐指数
1
解决办法
1064
查看次数

MS Access 2010在查询中运行总计

我不是一个很大的Access粉丝,但是对于这个项目,我被要求创建一个Access数据库.我为其他数据库类型创建了类似的东西,所以它并不太难.我已经弄明白了,但是跑步总数让我头疼.

我有下表:表名 attendanceView

查询: SELECT * FROM attendanceView

======================================================================================
agentID    |     incurrredDate     |   points    |    OneFallOff     |    TwoFallOff
======================================================================================
chtall     |       10/7/2013       |     2       |       2           |        2
chtall     |       10/15/2013      |     2       |       2           |        2
chtall     |       11/26/2013      |     2       |       2           |        2
chtall     |       12/17/2013      |     2       |       2           |        2
vimunson   |       7/22/2013       |     2       |       2           |        2
vimunson   |       7/29/2013       |     2       |       1           |        1
vimunson   |       12/6/2013       |     1       |       1 …
Run Code Online (Sandbox Code Playgroud)

sql ms-access ms-access-2010

1
推荐指数
1
解决办法
8385
查看次数

将vba变量日期传递给sql语句

作为一个新手vba-sql,我试图使用for循环填充表,vbaDocmd.runsql填充表.代码工作正常,但表中的值为:12/30/1899所有记录.我使用了一个消息框来检查并dt正常工作.它给了我循环中的日期并移动到下一个,但在表中它只给了我一个日期:12/30/1899.

Function dateTblUpdate()

    DoCmd.SetWarnings False
    DoCmd.RunSQL "DELETE FROM [date-table]"
    Dim dt As Date



    For dt = #1/1/2010# To DateSerial(Year(Now), Month(Now), Day(Now))
       'MsgBox DateSerial(Year(Now), Month(Now), Day(Now))
       'MsgBox dt
        DoCmd.RunSQL "Insert into [date-table] (the_date) values(" & dt & ")"

   Next
   DoCmd.SetWarnings True
End Function
Run Code Online (Sandbox Code Playgroud)

日期表当前结果

the_date
----------
12/30/1899
12/30/1899
12/30/1899
12/30/1899
12/30/1899
12/30/1899
Run Code Online (Sandbox Code Playgroud)

但预期结果:

the_date
------------
01/01/2010
01/02/2010
01/03/2010
01/04/2010
Run Code Online (Sandbox Code Playgroud)

我的日期列是日期类型,我相信sql认为dt不是日期所以它不保存它并保存默认日期....任何想法?

sql ms-access vba access-vba ms-access-2003

1
推荐指数
1
解决办法
4337
查看次数

使用当前时间更新表字段

大家好,

我有一个带有子表单的无界表单(它的数据源是一个名为 SaleDetail 的表)。在主窗体上有一个同样无限制的销售 ID 文本框。

我用以下代码创建了一个按钮:

Private Sub btnEndSale_Click()

Dim strPostTime As String

strPostTime = "UPDATE SaleDetail " & _
        "SET [TIMEOUT] = Time()" & _
        "WHERE SaleDetail.SID = Forms!Sales.Form.sSID"

DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
DoCmd.Requery

End Sub
Run Code Online (Sandbox Code Playgroud)

一旦主表单上的 SID 与 SalesDetail 表中的 SID 匹配,我试图获取当前时间来更新 SalesDetail 表中的记录,但它不起作用,但如果我Forms!Sales.Form.sSID用现有 ID(例如 9)替换它,它会起作用. 任何帮助将不胜感激。

ms-access vba

1
推荐指数
1
解决办法
81
查看次数