问题标签 [ms-access-97]

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 投票
1 回答
947 浏览

c# - 根据 SQL 查询的结果打开 Winform

我目前正在将一个 Access97 数据库应用程序转移到一个新的 WinForms 应用程序。

我们有一个用于所有“帐户”的中央表单,它显示一般帐户数据,在该表单中有一个打开另一个表单的按钮,应用程序使用下表的示例从 SQL 查询中获取表单名称。

因此,如果 ClientID 为 1,则该按钮应打开 Form1,如果 ClientID 为 2,则该按钮应打开 Form2。

我的问题是如何让 WinForms 在单击按钮时运行查询,然后打开表中找到的相应表单?

任何帮助深表感谢。

0 投票
2 回答
6466 浏览

sql - 在 Access 97 的 SQL 查询中访问另一个受密码保护的数据库

我目前正在处理 Access 97 的 SQL 查询。给出了以下表格(出于演示目的而进行了简化),每个表格都位于单独的 mdb 文件中:

C:\db\db1.mdb 中的表 1:

C:\db\db2.mdb 中的表 2:

在这里,我想根据定义的日期查找每一方的最新值。因此,假设我将 7/5/2014 标记为目标日期,那么我的查询应返回以下内容:

我在 C:\db\db1.mdb 数据库中创建了以下查询:

问题是 Table2 实际上位于受密码保护的数据库文件中。因此,我尝试将查询修改为以下内容,如http://support.microsoft.com/kb/113701中所述:

但是,这总是会导致语法错误。我怀疑在

声明是失败的原因。不幸的是,Access 97 总是要求别名用方括号括起来,后跟一个句点,而 Access 2000 和更高版本没有这个限制。有什么方法可以用 Access 97 完成这个查询吗?谢谢。

0 投票
1 回答
250 浏览

sql - Access97 左连接选择

我被一些access97 sql卡住了,

行为如我所料但是在我需要将“子表”名称方括号括起来的地方我在 FROM 子句中突出显示 GROUP 时收到一个错误

谁能指出我正确的方向?

谢谢

0 投票
1 回答
29 浏览

ms-access - 在 Access 97 中,显示和打开“工具”->“参考”窗口的最快、最可靠的方法是什么?

例如,我正在写一些说明,说明如何删除更高版本的 Access 在从 97 迁移到 2007 时不能容忍的缺失引用。

现在我可以通过单击一个模块打开一个代码窗口来显示参考窗口,但是这个访问表没有模块。我想在不创建模块的情况下让高级用户进入参考窗口,并且不让他们通过不同的表单来查找事件处理程序背后的代码。

是否有进入此窗口或启用它的快捷键?或者点击那里的安全方式?

谢谢!

0 投票
2 回答
10806 浏览

c# - System.Data.dll 中出现“System.InvalidOperationException”类型的第一次机会异常

我正在构建一个读取文本文件的 C# 应用程序,将读取的数据写入访问 97 DB,然后读取 db 并写入文件。我的 OLEDB 连接字符串似乎有一些问题。以下是我的代码,有人知道为什么我会收到此异常吗?

数据库确实存在,我只在执行查询之前打开连接,然后再次关闭它。

查看连接对象,我注意到两件事。

  • 服务器版本说:“cnn.ServerVersion”引发了“System.InvalidOperationException”类型的异常

  • 另外 cnn.Open() 和 cnn.OpenAsync() 都不会改变连接的状态。

0 投票
1 回答
1133 浏览

ms-access - How to copy a table's contents from an Access 97 file into an Access 2013 file

We have an VB6 application that used Ms-Access 97 database files in conjunction with a workgroup file. To keep users from accidentically opening the files directly, we have changed the extension of the files from mdb and mdw to sdb and sdw, respectively. The next Version of our application is to run with Ms-Access 2013 databasees. We also have done the extension mangling with the new accdb files, they now have the extension sccdb. Since Microsoft is discontinuing the use of old mdb files in MSO 2013 (read: MS-Access 2013 can't open the old mdb/sdb files any more, which we have to do to update data), we want to transport the data from one of the old file's tables to a table in the new accdb file (that already contains the correct table). To do that I am currently doing the following:

I have no idea how to tell the open connection that the file actually is an MDB (=SDB) and that there is an MDW (=SDW) with a username and password.

Does anybody have a clue how to formulate this in an Execute(...) command? I really would like to avoid having to copy all records in big for loop using a recordset. Any help is greately appreciated.


Edit: Thank you all for you comments and hints, here is what I finally did: We are using the Microsoft Access Database Engine 2010 Redistributable as a backend (http://www.microsoft.com/en-us/download/confirmation.aspx?id=13255) and are copying all records field by field. The behaviour is quite strange, as ADODB lets me open a renamed accdb or mdb file very nicely using the respective providers in the connectionstring (accdb/sccdb: "Microsoft.ACE.OLEDB.12.0", mdb/sdb: "Microsoft.Jet.OLEDB.4.0"), but there seems to be no way to convince a connection that is running on an accdb provider to open an mdb for the abovementioned INSERT command. So - what I do is open two connections to the two files and then shove the data across using a function like this:

0 投票
1 回答
43 浏览

ms-access - 为什么 Join()-ing 限制为 64 的 Split() 返回超过 64 个子字符串?

我必须将字符串限制为最多 64 个子字符串,这些子字符串除以;. 输入字符串包含 113 个子字符串:

使用SplitI 可以将子字符串的数量限制为 64:

调试窗口指示计数了 64 个元素。使用Join我想将这 64 个元素放入一个带有;分隔符的字符串中:

NewBlackList包含所有 113 个子字符串。我已经尝试过上面的代码,以及下面的简化版本(我更喜欢使用),但两者都不将字符串限制为 64 个子字符串。

为什么Join()ing aSplit(,,64)返回超过 64 个子字符串?

0 投票
0 回答
301 浏览

ms-access - 从 Access 95 数据库文件中恢复 VBA 代码

我需要从旧的 Access 数据库文件中恢复 VBA 代码。我尝试了 decomile 技巧但没有成功: http ://www.granite.ab.ca/access/decompile.htm

我也尝试过从数据库文件中导入,除了 VBA 代码之外的所有内容都可以很好地导入: https: //support.office.com/en-us/article/Import-an-Access-95-database-into -an-Access-2007-file-65ae9f69-3c0e-4fea-8952-dcb4e90119b1

我还尝试了此处描述的紧凑和修复选项:http: //allenbrowne.com/ser-47.html

我现在可以在 Access 2007 和 Access 2013 中打开数据库。表、关系、表单和宏(不是 VBA)仍然存在。

我有 MS Access 2007 和 MS Access 2013(不在同一台计算机上)来帮助我。

是否有任何技巧可以从 Access 95 文件中提取 VBA 代码?

0 投票
2 回答
1189 浏览

python - 如何使用 pyodbc 连接到 MS Access 97(使用工作组 mdw)数据库

在带有 pyodbc 的 Python 脚本中,我试图连接到我们网络上仍在使用的 Access 97 数据库,但我无法让连接(或连接字符串)正常工作。

我不断收到以下错误:

这是我的连接字符串,它因上述错误而失败:

如您所见,此连接需要使用系统数据库(工作组 - mdw)。该数据库位于网络存储上。

我正在使用 Python 2.7。

任何人都可以帮忙吗?

编辑:在连接字符串中,反斜杠应该是双反斜杠。似乎只显示了一个反斜杠。

0 投票
1 回答
1009 浏览

java - 使用 Java / Jackcess 从加密的 Access .mdb 中读取

我需要从加密的 Access 97 数据库中读取数据并试用 Jackcess 和 UCanAccess。

我正在使用 bouncycastle.org 的 jackcess-2.1.2.jar、jackcess-encrypt-2.1.0 和 bcprov-jdk15on-152.jar

由于 UCanAccess 在内部使用 Jackcess,我在所有其他尝试中都遇到了同样的错误。

最后一行调用了一个错误,这里是堆栈跟踪: