问题标签 [ms-access-2003]

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.

0 投票
5 回答
265 浏览

ms-access - 访问数据库安全问题

我在 Access 2003 中有一个数据库,我只希望某些人能够访问它。在我的数据库中,我有一个表格,列出了应该能够访问数据库的人员。(Tbl_BIRT_Users)。该表包含他们的姓名、ntlogin 和电子邮件地址。它还有一个“管理员”字段。

我的问题有两个部分:

1 - 在打开数据库时,我怎样才能让它查找该人的 ntlogin(环境用户名)并确保该人有权使用数据库?

2 - 我需要数据库查看“管理员”是/否字段并授予非管理员只读访问权限和管理员完全访问权限。

谢谢!

0 投票
1 回答
3435 浏览

ms-access - 具有动态记录源的数据表在 Access 2007 中不显示任何记录,但在 Access 2003 中有效

我有一个 Access 2003 数据库,它使用一个主窗体和一个子窗体中的数据表。主窗体允许用户从更新子窗体的记录源的菜单中进行选择。子表单还会根据表单记录源中的字段数量和类型更新可编辑的字段数量和类型。它基本上是一个动态数据表生成器。这在 Access 2003 中工作得很好,并且已经好几年了。如果我在 Access 2007(完整或运行时)中打开相同的数据库,则大多数菜单选择都有效。但是,如果我选择引用一个特定表的任何菜单选项,子表单会显示列标题,但不会显示任何数据行或显示任何错误。就好像查询返回零行一样。为什么 Access 2007 会有所不同?他们是否添加了新的保留字?

我尝试过的事情:

  • 更新表中的每个字段以确保没有空值(无变化)
  • 重命名每个字段和表名,以防有新的保留字(无变化)
  • 前后端压实修复(无变化)
  • 尝试一一包含和排除字段以查看是否有任何变化(没有变化)
  • 将表单的记录源放入新查询中。(它返回了预期的行数)
  • 检查以确保表单未设置为数据输入模式。(它不是)
  • 检查以确保没有在代码中应用过滤器。(没有)
  • 检查以确保查询在 Access 2007 中是可更新的。(它是)
  • 从源表中选择性地删除数据块。(不用找了)

我难住了。

0 投票
2 回答
11590 浏览

vb6 - 在另一个受密码保护的数据库中选择表?

在 Microsoft Access 2003 和 Visual Basic 6 中,我试图将一个表复制到另一个受密码保护的访问数据库中......

它失败并出现错误:不是有效的密码

Select INTO 格式是否不接受带有 mdb 的密码,并且密码必须在连接字符串中?如果不是,您如何引用不同的连接字符串/数据库?

谢谢

0 投票
2 回答
233 浏览

ms-access - 如何克服/解决本地访问表和链接访问表之间的这种差异

行。快速背景:从 Access 97 升级的带有 2003/2003 格式 MDB 文件的 MS Access 2003。

出于本示例的目的,有两个表。

将记录添加到 Asset 时,ID 将添加到 AssetRels。

从 Asset.ID 到 AssetRels.ID 存在一个关系,它通过级联更新和级联删除来强制引用完整性。

从 AssetRels.ID 到 Asset.ParentID 存在仅通过级联更新强制引用完整性的关系。

我在资产中有 2 条记录

在数据数据库中,我可以进入表格并将 VACU0703200 更改为 VACU0704500,并且更改会按预期传播。

如果我打开链接到数据数据库的前端数据库,并尝试相同的更改(直接在表中)我得到“无法更新;当前锁定”(不,没有关于“另一个会话”,这就是整个错误消息)

对于“默认记录锁定”,两个数据库都设置为“无锁定”

显然,行/页/表级别的锁存在一些差异,这会阻止级联更新工作。

有谁知道我可以在某处使用的一些属性设置来阻止此错误?我宁愿不必删除关系,但否则我可能不得不,并在代码中处理它。

编辑:原因是该表包含一个备注字段。显然,通过链接表,让备忘录字段溢出 4K 行大小会升级为表锁。这反过来又引发了问题。

解决方案(hackish)是防止编辑表单上的 ID 字段,并添加一个新表单来重命名。在打开新表单之前保存更改,并通过更新查询执行更新。

0 投票
1 回答
290 浏览

ms-access - Ms-access 中的一个查询

此查询显示事件类型不等于“PNremoved FROM Wrapper”的零件号。此查询显示正确的数据。零件号可能会从此跟踪号中删除,但可以使用另一个跟踪号输入。在这种情况下,它不起作用。

我希望当我们输入具有另一个跟踪号的相同零件号时查询有效。

部件号不应与我们使用 eventtype=“pn 从包装器中删除”的跟踪号一起显示。但它应该与具有相同部件号的另一个跟踪号一起显示。

我通过一个例子来展示这一点。

Reviewrelease_Form(主表单)链接到reviewreleasetable:

此表包含基本数据和包装器编号

RevRel_Form(子表单)链接到 tblRevRelLog_Detail

此表格包含有关零件号的数据

链接到 tblEventLog 的 eventhistory(子表单)

此表单包含带有零件编号的事件

如果我想从包装器中删除零件号,我将删除并且事件历史表如下所示

那么 RevRel_Form 不应显示此零件编号数据,如下所示:

这适用于我在 RevRel_form 的数据源中编写的查询(我在上面编写的查询)。

但问题是,将来删除的零件编号会再次出现另一个新的包装编号。使用我现在使用的查询,它也不会显示带有新包装器编号的零件编号数据。

所以,我想要在 RevRel_Form 中使用新包装器编号显示零件编号数据的查询。但不是我们删除该零件编号的包装编号。

如果您看不到正确格式的记录,请在编辑视图中检查它们。

0 投票
3 回答
2300 浏览

forms - 一个(可能未绑定)Access 2003 表单以创建多个记录

我被招募来制作追踪标本的表格。每个样本都与一个主题相关联;每个标本在 9 x 9 的存储盒中也有一个特定的插槽。为了便于数据输入,我认为 Access 表单最好反映盒子本身(以及将用于将数据输入 Access 的纸质表单):九列九行,每个元素基本上由一个文本组成标本 ID 框。这基本上是我希望它看起来的样子:

替代文字

因此,数据输入人员基本上会输入盒子编号和样本 ID,然后单击“创建记录”以弹出所有这些记录(您可以在此处看到一些其他内容,但现在这并不重要)。但是,我不确定最好的编码方式。现在,我能想到的最好的过程是:1)运行插入查询来创建框,如果它不存在,2)运行插入查询来创建主题(人),如果它不存在, 和 3) 对每个样本运行插入查询,在其行和列中进行硬编码(例如 box_col = 'A', box_row = '1')。

注意:主题 ID 和标本 ID 都会从 ID 字段中解析出来——这很愚蠢,不是我的想法,但这就是它的设置方式。不过,我可以处理。

这当然是一个难题,但我不确定还能做什么,而且我搜索到的大部分内容都与从单一表单创建多条记录无关。有一个更好的方法吗?我应该放弃这个想法并采用更传统的绑定子表单方法吗?

0 投票
1 回答
43 浏览

key - 客户名单附加索引

我正在 Access 2003 中构建客户和案例数据库。父客户表包含客户姓名、公司(如果有)、状态(值列表)、附加说明(文本或备忘录类型)和 Y/我们的邮件列表的 N 切换框。PK 正在递增自动编号。根据其他地方的线程的规范化提示,地址和电话号码将获得自己的表格,如下所示:

tbl_Client

tbl_Client将链接到tbl_Addresstbl_Phone通过联结表,但我不知道如何表示。)

我的研究表明,表应该至少有两个索引的、非重复的列——一个 PK 和一个额外的唯一字段。唯一保证唯一的列tbl_Client是备注字段——姓氏可能会重新出现,并且我们可能在给定公司拥有多个客户。

所以这是我的问题:最好是索引 Note 字段,不允许重复,还是只接受 ClientID AutoNumber 将是唯一的唯一值?

(当然,这个问题是基于上述整个结构没有不可挽回的缺陷的假设。如果是这样,请随意表达你的恐惧。)

0 投票
1 回答
2065 浏览

ms-access-2003 - Changing connection params when using pass-through query

I have an Access 2003 application that I would like to create reports for using stored procedures via pass-through queries. Everything works fine with one exception. When I specify the stored procedure to use for the pass-through query I have to choose a DSN to provide the database connection info. I need to be able to change the connection info for the stored procedure used in the pass-through query via code. This is so I can switch to development, production, testing environments from within the application.

Currently all of my data access (additions, updates, edits) uses ADO and I build the connection strings via VBA code. I am unsure how how to change the connection info of the pass-through queries via code. Any thoughts? Thank you.

0 投票
2 回答
2043 浏览

ms-access - MS Access 2003/2007 - 在安装了 2007 Office 的桌面上编译 2003 版 mdb;会不会保留2003 mde?

所以我有一个最初使用 Access 2003/Office 2003 创建的 access mdb 文件。因为我在工作中收到了一个安装了 2007 Office 的新图像。access数据库的文件扩展名仍然是mdb.,之前转换为2002-2003的Access数据库。

这是我的问题:我的用户仍然需要访问 2003 mdb,因为他们还没有更新。但是,我尝试编译这个版本,它显示为一个 .mde 文件(不是 .accdb 等),所以它看起来好像保留了这个版本就好了。

但是,当他们打开它时,他们会得到标准的“无法打开文件。检查以确保安装了正确版本的 Access”

我在这里做错了什么,或者忘记做什么?一旦我的桌面上有 2007,我就不能编译 2003/.mde 文件吗?

谢谢贾斯汀

0 投票
1 回答
1233 浏览

ms-access - ms-access 2007 运行时和 lockWindowUpdate

在 VBA 代码中使用 lockWindowUpdate API 可以避免在更新屏幕内容时屏幕闪烁。它还大大改善了计算延迟,因为计算机不必在对底层记录集进行每次计算\更新后刷新屏幕。

不幸的是,我无法让它与 Access 2007 运行时一起正常工作!在某些屏幕上,Access 2007 用户更新数据的时间是 Access 2003 运行时用户的 30 倍!

通过谷歌搜索,我发现与 powerpoint 2007 相关的类似问题也被讨论过,但 msAccess 没有出现,或者没有明确的解决方案。我将非常感谢任何帮助。