问题标签 [ms-access-2002]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vba - Access 2002 VBA - 尝试在表中输入值时出现附加查询错误
我在 Access 2002 中有一个表单,其字段由查询提供。它逐行显示记录数据。最后有一个名为“已确认”的复选框。此表单的目的是让用户确认已查看记录。在复选框的“OnClick”事件中,我有自动填充用户名字段和当前日期字段的代码。有四种不同的记录/通知类型。所有这些都有效。有一种通知类型,类型 2。
当试图确认这种类型的记录时,它必须将用户名和日期输入到当前查询之外的另一个表中。这是代码:
我同时拥有 DoCmd.RunSQL 和 CurrentDb.Execute 的原因是出于测试目的。运行 CurrentDb.Execute 时,我不会收到任何错误,但该表不会填充该记录的这两个值。当我使用 DoCmd.RunSQL 时,我得到一个确认窗口,询问我是否要附加该行。当我说是时,有一个错误指出我无法在追加查询中追加记录。我只想将这些值放入此表中。
更新:在 MS SQL 2008 中创建表 SQL,在 Access 2002 中创建链接表:CREATE TABLE [dbo].[Maintenance](
[MaintenanceID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[AssetID] [int] NOT NULL,
[MaintenanceDate] [datetime] NULL,
[MaintenanceDescription] [nvarchar](255) NULL,
[MaintenancePerformedBy] [nvarchar](100) NULL,
[MaintenanceCost] [float] NULL,
[NextMaintenanceDate] [datetime] NULL,
[Acknowledged] [bit] NOT NULL,
[AckTimeStamp] [timestamp] NULL,
[AckBy] [varchar](50) NULL,
[AckDate] [datetime2](7) NULL,
CONSTRAINT [PK_Maintenance] PRIMARY KEY CLUSTERED
(
[MaintenanceID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
sql-server - MS SQL 2008/Access 2002 VBA - 检查数据库的当前记录,如果不存在则输入
我正在尝试创建一个 SQL 字符串,它将检查表 Notification 的当前记录条件(两个不同的 ID 值)。如果它找到具有这两个值的记录,它将不会将该记录输入到表中。如果它没有找到它,它会。
我已经尝试使用 VBA 来解决这个问题,但似乎我能够做到这一点的唯一方法是使用 SQL,因为 Access 字段类型与 SQL 字段类型不同导致的常量类型不匹配错误(IE:整数在 SQL 中可以,但在 Access VBA 中导致溢出的值)。
我一直在尝试找到某种 WHERE 语句,它可以让我检查表以查看 AssetID 和 NotificationTypeID 是否已经在表中。如果是,则忽略插入并继续。
我已经看到其他类型的 SQL 示例可以回答这个问题,但我无法让它们在 VBA 中工作。
更新的代码(注意:'我知道,AssetID 应该是 LONG。它是 SQL 中的一个 Int,但是当在 vba 中为 Access 设置为 Int 时,我收到一条溢出消息'当我尝试将其设置为 long 时,有一个类型不匹配。字符串目前似乎可以在 SQL 中用于将值放入数据库中)
这仍然不适用于 .AddNew。它应该,但由于某种原因返回一个 Invalid Operation 错误。
database - 在 Windows 10 上运行 Access 数据库时收到错误
我在Access 2002中创建了一个数据库,该数据库在 2 周前(2019-02-15)之前运行良好。我正在使用MS Access 2013运行Windows 10。我收到一个编译错误:任何人都可以帮忙解决他们认为的问题以及解决问题的最佳方法吗?The code in this project must be updated for use on 64bit systems.