标签: ms-access

数据库性能调优

我有一个 MySQL 后端、MS Access 前端系统,该系统在本地网络上运行良好且响应迅速,但在宽带连接上变得缓慢。到目前为止我还没有进行任何性能调整。我应该使用哪些推荐工具和调整方法?

最近,我发现MySQL保留了一个“通用查询日志”。也许我可以监视此日志文件中的更改,以查看实际向服务器发出了哪些请求。这是一个很好的微调方法吗?

mysql performance ms-access performance-testing

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

IF IS NULL 然后 SINGLE 否则保留该字段的值

我正在使用 Access 中的数据库,如果尚未填充其他值,我希望能够使用 SINGLE 的结果填充该行中的字段。

我写了 Iif(MaritalStatus) is null, "SINGLE") 但 Access 返回了一个结果,其中所有字段都用 SINGLE 填充,除了那些以前具有已婚、离婚等值的字段。

ms-access

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

使用 ODBC、联接和分组依据的 SQL 查询

我对下面的声明有疑问。查询的主要目的是将客户列表从 ODBC 提取到 Access 数据库中(我们的客户存储在 IBM i 上的 DB2 中)。该查询旨在查找超过 13 个月未交付 (RS2101F.DELDATE) 但尚未被抑制 (OM01U1.OM01068) 的客户 (OM01U1.OM01015)。我确实需要所有的列来研究设备和财务记录,所以我无法移除它们。不过,该声明是从几个表中提取的。我认为问题可能出在“Group By”上。当我收到结果时,我也得到了重复的出口 (OM01U1.OM01015)。我只需要看到最后一次交货日期 (RS2101F.DELDATE) 一次。请不要把我打得太糟,我没有创建这个查询,我只是继承了它。我知道这很遥远,而且可能有更好的方法来获取我需要的信息。我感谢任何帮助家伙!

SELECT
    OM01U1.OM01041 as Loc,
    OM01U1.OM01015 AS Outlet, 
    OM01U1.OM01945 AS OLTyp,
    OM01U1.OM01052 AS Outlet_Name,
    OM01U1.OM01054A AS Street_Number, 
    OM01U1.OM01054C AS Street_Name, 
    OM01U1.OM01055A AS City, 
    OM01U1.OM01055B AS State, 
    OM01U1.OM01106 AS Zip, 
    OM01U1.OM01058A AS Area_Code, 
    OM01U1.OM01058C AS Phone, 
    OM01U1.OM01037 AS Channel, 
    OM01U1.OM01926 AS USA_Type,
    OM01U1.OM01078 AS Key_Acct, 
    OM01U1.OM01110 AS TRDGRP,
    OM01U1.OM01034 AS Trade_Name, 
    OM01U1.OM01248 AS DTC,
    OM01U1.OM01073 AS Sales_Route, 
    OM01U1.OM01068 AS Sup_CDE, 
    OM01U1.OM01982 …
Run Code Online (Sandbox Code Playgroud)

ms-access odbc iseries

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

我收到错误消息“您正在尝试执行一个查询,其中所选的表达式不属于统计函数的一部分。” 在 MS Access 2010 中?

请注意:我的 Access 副本是荷兰语,因此任何英文部分都是从荷兰语翻译而来的。

我目前正在使用 SQL 在 Access 中处理数据库,练习是:

创建一个查询,列出所有罚款超过 25 欧元的学生。

我创建了这个查询:

SELECT L.LLNR, U.LLNR, L.VOORNAAM, L.TUSSENVOEGSEL, L.ACHTERNAAM, SUM(U.BOETE)

FROM 
    LEERLINGEN L
    INNER JOIN UITLENINGEN U ON L.LLNR = U.LLNR

WHERE (((U.BOETE)>25));
Run Code Online (Sandbox Code Playgroud)

当我单击时Execute,出现以下错误(从荷兰语翻译)

您正在尝试执行一个查询,其中所选表达式 LLNR 不是统计函数的一部分。

我该怎么办?

翻译: | Leerlingen = 学生 | Boete = 点球 |

ms-access

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

COUNT (*) = 0 不起作用?

好的,我正在尝试查询一个图书馆,该图书馆将显示哪些学生从未借过书。为此,我做了以下工作:

SELECT
    LEERLINGEN.LLNR,
    LEERLINGEN.VOORNAAM,
    LEERLINGEN.TUSSENVOEGSEL,
    LEERLINGEN.ACHTERNAAM,
    LEERLINGEN.KLAS,
    COUNT(*) AS AANTAL
FROM
    UITLENINGEN
    INNER JOIN LEERLINGEN ON UITLENINGEN.LLNR = LEERLINGEN.LLNR
GROUP BY
    LEERLINGEN.LLNR,
    LEERLINGEN.VOORNAAM,
    LEERLINGEN.TUSSENVOEGSEL,
    LEERLINGEN.ACHTERNAAM,
    LEERLINGEN.KLAS
HAVING
    COUNT(*) = 0;
Run Code Online (Sandbox Code Playgroud)

由于某种原因,这似乎不起作用,因为它所做的只是在我单击时创建一个空表Execute

我在这里做错了什么?

ms-access

3
推荐指数
2
解决办法
827
查看次数

如果我将 MS-Access 前端(多台计算机)连接到 SQL Server 后端,我是否存在安全漏洞?

我有一个 MS Access 前端,我想在 5-7 台计算机上安装它,以便他们可以访问存储在共享网络驱动器上的 SQL Server:

在此处输入图片说明

如果可能,它是否安全,我的数据是否会损坏?否则,我如何让 5-7 个用户使用接口同时访问 SQL Server?

非常感谢您的宝贵时间!

ms-access sql-server

3
推荐指数
2
解决办法
137
查看次数

绕过 MS Access 2GB 文件大小限制

*.accdb我正在创建一个包含多个表和特定关系的MS Access数据库。

该数据库将用于将数据一次性传输到另一个系统,其中包含数百万个条目的顺序。使用 200 万个虚拟条目进行的测试已达到约 1.8GB 文件大小。由于 MS Access 对每个数据库文件有 2GB 的内置限制,因此我正在寻找绕过此限制的解决方案。

到目前为止我想出了两个想法:

  1. 将数据库拆分为两个文件,在从 file1 到 file2 的转换期间继续建立索引,并注意相关表中条目的独立性。

    file1_table1 (indices 1..1000)
    file2_table1 (indices 1001..N)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用一个主接口文件将表导出到不同的文件

    file1_table1
    file2_table2
    file3_table3
    masterfile (linking table1..3 and creating table relationships)
    
    Run Code Online (Sandbox Code Playgroud)

我想获得一些有关概念、性能和可用性的想法的反馈,或者是否有任何其他想法。

请注意,我想坚持使用 MS Access,构建 SQL 数据库会有点过分,因为它将仅用于一次性传输。

数据分布在多个来源(MS Access .accdb、Excel 表格*.xlsx、分隔文件*.csv),并被分析、合并并准备为临时一次性 MS Access 数据库,然后转换为基于 SQL 的工作数据库,其中包括比我准备的要多得多。所以这是一个经典的 ETL 过程。

“压缩和修复”命令无济于事,因为它实际上只是大量数据,而不是留下大量垃圾的大量操作。“拆分Access数据库”过程似乎只是将查询/表单/报告与包含表的后端文件分开,但我需要拆分表本身,这给我带来了拆分文件之间的一致性问题。这不是接口(前端)和数​​据后端分离的问题;由于数据量很大,我需要对数据后端本身进行拆分。

performance ms-access migration

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

为什么 msaccess 中的最后一个函数允许我绕过组?

我对 msaccess 有以下查询

SELECT Trim([T13_RefSupplier_France_List].[Supplier_code]) AS Supplier_code,
       Trim([T13_RefSupplier_France_List].[Art]) AS Internal_reference,
       Trim([fp_rcli]) AS Supplier_reference,
       Last(Trim([ar_fami])) AS Family_code,
       Last(Trim([fp_upri])) AS Purchasing_unit,
       Last(Nz([fp_pcde],0)) AS Purchasing_price,
       Last(Supplier_currency_France.Recode) AS Purchasing_currency,
       Last("") AS Consigned,
       Last(0) AS Eco_order_qty,
       Last(CDbl(Nz(Nz([fp_cond],[ar_qcdi]),0))) AS Pack_order_qty,
       Last(IIf([fp_minc]=0,Nz([fp_cond],[ar_qcdi]),[fp_minc])) AS Min_order_qty,
       0 AS Min_order_value,
       0 AS Product_grossweight,
       0 AS Product_grosscube,
       Last(gpfprodu_France.fp_dela) AS Leadtime_days,
       Nz([Localisation_France].[Site],"Poitiers") AS Site,
       CDbl(Nz([Active],-1)) AS Supplier_active,
       Max(IIf([ar1_pdanz]=0,NULL,[ar1_pdanz])) AS Ref_price
FROM ((T13_RefSupplier_France_List
       LEFT JOIN ((gparticl_France
                   LEFT JOIN Localisation_France ON gparticl_France.ar_loco=Localisation_France.Localisation)
                  LEFT JOIN [*gpartic1_France] ON gparticl_France.ar_code=[*gpartic1_France].ar1_code) ON T13_RefSupplier_France_List.Art=gparticl_France.ar_code)
      LEFT JOIN ((gpfprodu_France
                  LEFT JOIN …
Run Code Online (Sandbox Code Playgroud)

ms-access sql-server

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

适用于 1160 个用户的 MS Access + SQL Server - 值得吗?(请帮忙!)

我们位于德里(印度)的学校希望开发一个专业且强大的内部数据库 (SIS),以处理大量学生信息,包括招生、注册、重新注册、学生行为管理和评分。我们注意到,如果没有大量的定制和成本,现成的产品无法完成我们的特定任务。因此,我们决定自己开发这个,因为我们可以完全控制我们希望如何将我们的信息报告给我们的教育委员会(根据他们的规范),并且可以控制我们复杂的评分系统(不断更新以满足动态我们教育委员会的基准需求)。

我们已经开始使用 MS Access 并且仍处于开发的初级阶段。我们想知道是否应该使用 MS Access 作为前端,SQL Server 作为后端 DB,因为我们要完成以下任务:

  1. 能够让80 多名员工用户同时访问、发布、更新和删除 SIS 数据库内的客户记录(在校园内)。

  2. 我们的 SIS DB 能够具有基于 Web 的功能,并在我们的学校网站中集成了一个学生登录门户,因此1080 多名学生可以从他们的家中同时访问特定的基于 Web 的 DB 表格(通过使用学生登录门户)以更新个人记录、检查成绩和其他表现总结。

  3. 我们的 SIS 数据库能够保持高度安全和 24/7 全天候运行,不会出现中断和安全漏洞(我们了解到,仅靠 MS Access 无法做到这一点)。

  4. 能够将我们的 SIS 数据库与另一个内部数据库集成,该数据库将在舒适的家中为学生提供数字学习材料(也可通过学生登录门户访问)。数字学习资料数据库是我们正在创建的另一个数据库,它应该能够存储价值 100 GB 的多媒体资料。

  5. 能够无延迟地将数据从表中快速提取到 GUI。

我们学校在这方面的一个主要因素是成本。他们希望创建低于 1,500 美元的数据库,并希望有许多用户能够同时访问该系统。请帮助我决定我应该如何处理这种情况,无论是性能方面还是成本方面。对于提供的冗长细节,我深表歉意。我真的很困惑,如果有人能在这件事上帮助我,我将不胜感激。

此外,我们希望我们的表单像在主要数据库系统中看到的那样专业。我们注意到 Access 可以创建表单,但只能在一定程度上创建。是否有任何其他系统编程友好的平台可以用来创建高度复杂和专业的数据库表单(例如 Visual Studio)?也将非常感谢有关此主题的帮助。

安基斯

ms-access database-design sql-server

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

如何使用公共列连接两个表中的所有组合

我有一份供应国家/地区名单的供应商名单。例如:

供应商 A 供应给:

  1. 美国
  2. 法国
  3. 中国

以及另一份供应商及其供应商工厂清单 例如:

供应商 A 制造:

  1. 英国
  2. 德国

如何构建(供应商、国家、工厂)的所有可能组合的列表(按行)?我有超过 10.000 个供应商。例如,对于供应商 A:

  1. 美国-英国,
  2. 美国-德国
  3. 法国-英国
  4. 法德
  5. 中英
  6. 中德

有人可以帮我解决这个问题吗?我已经尝试使用 Excel 和 Access 进行了数周的研究。

join ms-access

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