我已经研究了所有的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) 我试图在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) 我将几个大表从 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)
对于使用链接表完成此任务有什么建议吗?
如果我有一个.ppt幻灯片,我想从中提取信息,我为各个人在整个组织中使用的所有幻灯片设置模板,并且我知道每个文本框对象的所有"名称",
我可以使用一些vb将这些信息从.ppt幻灯片中提取到访问数据库中吗?
我知道如何获取访问表单并以相同的方式创建输入信息的ppt演示文稿,只需要反向过程.所以我假设如果我设置这些ppt幻灯片,并将所有文本框命名为我想要命名的那些,我应该能够在相反的方向上做到这一点,对吧?
我有一个包含数千条记录的大型数据库,我需要每周查询一次.然后,我必须使用Access Reports创建此数据的摘要.当我第一次创建数据库(我最近做过)时,我构建了几种类型的查询(大约80个),然后创建每个子报告,然后将这些子报告放在一个巨大的主报告中.
我之前从未使用过数据库,有些东西告诉我,也许我不应该有80个不同的查询,填充80个不同的子报表.我不知道,也许没关系.但这是我的问题,是否有任何理由我应该返回并重做其中一些查询并将它们合并为20或30(这将要求我重做子报告和主要报告),或者它是完全没问题的.将这么多查询保存在我的数据库中.
请记住,每个查询虽然每个只包含2或3个函数,但它有一个非常具体的任务,我无法完全摆脱,我只能通过组合几种类型的查询将这些函数添加到更大的查询中.另外,就像我说的那样,我必须每周使用这些查询,所以我真的不想像有些人选择的那样在运行中构建它们.
无论如何,有一些不可预见的问题,我有这么多的疑问,或者这是正常的吗?
我一直面临错误3061,错误消息"参数太少:预期2".我已经完成了以下所有操作来解决问题,但仍然无法解决问题.
这是我的代码:
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) 我有以下示例数据:
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是唯一的.
我不是一个很大的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) 作为一个新手vba-sql,我试图使用for循环填充表,vba并Docmd.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不是日期所以它不保存它并保存默认日期....任何想法?
大家好,
我有一个带有子表单的无界表单(它的数据源是一个名为 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)替换它,它会起作用. 任何帮助将不胜感激。