Questions tagged «ms-access»

Microsoft Access是关系数据库管理系统,是Microsoft Office套件的一部分。

3
Access(Jet)SQL:TableB中的DateTime戳位于TableA中每个DateTime戳的侧面
第一句话 您可以放心地忽略以下(和包括)JOIN的部分:如果仅想破解代码,则从Start入手。的背景和结果只是作为背景。如果您想查看最初的代码,请查看2015年10月6日之前的编辑历史记录。 目的 最终,我想根据表中可用GPS数据的DateTime时间戳(直接在表中观察数据的侧面)来计算发射机(X或Xmit)的内插GPS坐标。SecondTableFirstTable 我的近期目标实现的最终目标是要弄清楚如何最好地加入FirstTable到SecondTable得到这些侧翼的时间点。以后,我可以使用这些信息,并假设沿着等矩形坐标系进行线性拟合,就可以计算GPS中间坐标(用奇特的话说,我不在乎地球是这个范围的球体)。 问题 有没有更有效的方法来生成最接近的前后时间戳? 由我自己解决,方法是仅抓住“之后”,然后仅获取与“之后”相关的“之前”。 是否有一种不涉及(A<>B OR A=B)结构的更直观的方法。 Byrdzeye提供了基本的替代方法,但是我的“现实世界”经验与他的所有4种执行相同策略的加入策略并不一致。但是,他对替代连接样式的解决也深表感谢。 您可能还有其他想法,窍门和建议。 到目前为止,byrdzeye和Phrancis在这方面都非常有帮助。我发现Phrancis的建议非常出色,并在关键阶段提供了帮助,因此在这里我将给予他优势。 我仍然很感激我在问题3方面能获得的任何其他帮助。项目 符号反映了我认为对个人问题最有帮助的人。 表定义 半视觉表示 第一表 Fields RecTStamp | DateTime --can contain milliseconds via VBA code (see Ref 1) ReceivID | LONG XmitID | TEXT(25) Keys and Indices PK_DT | Primary, Unique, No Null, Compound XmitID | …

5
完全外部加入MS Access
我有两个工作人员名单: List A: StaffID Supervisor ==================== 0001234 NULL 0001235 0001234 0001237 0001234 0001239 0001237 和 List B: StaffID Supervisor ==================== 0001234 NULL 0001235 0001234 0001238 0001235 0001239 0001235 我需要以下输出: StaffID SupervisorA SupervisorB =================================== 0001234 NULL NULL 0001235 0001234 0001234 0001237 0001234 NULL 0001238 NULL 0001235 0001239 0001237 0001235 请注意,列表A和列表B中的员工ID已合并到一个非重复列表中,并且我已经合并了两个主管明细,这两个列表之间可能不匹配。 查询不必很好。每个列表中都有大约8000条记录,我会很好地运行它。如有必要,我很乐意在以后进行一些小的Excel操作。 …
11 query  join  ms-access 

1
为什么suser_name()无法反映AD帐户名称的更改?
我们的用户名之一已合法更改,因此我们将其Active Directory用户名更改为匹配-从domain \ oldname更改为domain \ newname。但是,当此用户在存储过程中调用suser_sname()时,它将返回旧名称,而不是新名称。 Googling将我引向了KB 946358,这表明它们的名称已在服务器上缓存并且未更新,大概是因为suser_name()正在调用LsaLookupSids。但是,该文章中的解决方法涉及重新启动服务器,即使是这样,我仍然想了解问题所在。 如果我将上下文更改为他们的上下文,则会返回正确的名称: EXECUTE AS LOGIN = 'domain\newname' GO SELECT suser_name() --returns 'domain\newname' ...我以为这也将调用LsaLookupSids,因此将返回错误的名称。我似乎不太了解此处的工作机制。 一些可能重要的观察结果: 该用户在服务器上没有显式登录。但是他们是这样做的AD组的成员。更改后的名称(domain \ newname)出现在的结果集中exec xp_logininfo 'domain\ADGroupName', 'members';域\旧名称没有。 用户正在从存储过程中调用suser_name(),该过程是从Access 2003 MDB中的直通查询调用的。 过去,我们已经更改了许多用户的帐户名,但是仅在上周才发现此问题(上周进行了两项更改,似乎都显示了该问题)。 该服务器正在Windows 2008 R2 Datacenter版上运行Sql Server 2008 SP3 x64。 这是怎么回事?作为DBA,我该怎么办?或者我打算在哪里解决这个问题?

6
开始使用具有真实数据的数据库的最简单方法是什么?
我有一个可以从使用数据库中受益的项目,但是我没有数据库方面的经验,也没有访问服务器的经验,并且处理服务器端事物的经验相对较少。 如果我必须解决学习难题,我宁愿学习具有广泛适用性的内容(例如SQL),但是如果它对我当前正在尝试执行的任务足够强大,则愿意学习Access之类的东西。解决。当然,如果可以帮助的话,我也不想在Access上花150美元,因为我只是在修补。 我已经下载了LibreOffice Base以及名为SQLiteBrowser的文件,但是我想先检查一下,然后再花时间学习那些特定的应用程序及其SQL风格,这些工具是否足以满足我的需求。 我希望能够: 从CSV或Excel导入数据 运行等同于“选择x的查询,其中x就是那个且其中包含那个,而其中任何一个都包含那个” write(?)一个新字段,指示与给定查询匹配的结果 同样,我愿意学习,但是在我专注于学习数据库以及必要时给定应用程序的细节之前不必学习大量有关IT的中级知识将是一件很高兴的事情。

3
查询最佳匹配并排序
我正在尝试按照以下方式编写查询: select * from tbl where col1 = 1 and col2 = 2 and col3 = 3 order by ... ; 我首先要获得所有3个WHERE条件都匹配(3/3)的所有结果,然后要获得任何2个条件都匹配(2/3)的所有结果,最后要获得任何1个条件都匹配(1/3)的所有结果。 这3个结果集中的每个都需要按排序(col4, col5, col6)。 我可以在一个查询中做到吗? 例如: 样本http://img708.imageshack.us/img708/1646/sampletableresult1.jpg 创建测试数据的脚本: IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MyTable]') AND type in (N'U')) DROP TABLE [dbo].[MyTable] GO CREATE TABLE dbo.MyTable …

5
SQL查询仅显示单个食品的最新购买记录
我正在使用MS Access 2013中的食品购买/发票系统,正在尝试创建一个SQL查询,该查询将返回每个食品的最新购买价格。 这是我正在使用的表的图表: 我对SQL的理解是非常基础的,因此我尝试了以下(不正确的)查询,希望它对每个项目仅返回一条记录(由于DISTINCT运算符),并且仅返回最近的购买记录(因为我做了ORDER BY [Invoice Date] DESC) SELECT DISTINCT ([Food items].Item), [Food items].Item, [Food purchase data].[Price per unit], [Food purchase data].[Purchase unit], Invoices.[Invoice Date] FROM Invoices INNER JOIN ([Food items] INNER JOIN [Food purchase data] ON [Food items].ID = [Food purchase data].[Food item ID]) ON Invoices.ID = [Food …

1
规范化数据库而不访问源数据?
我已经开始担任新角色,负责处理大量相关数据。我们所有这些数据的来源是从我们无权访问的数据库中提取的各种Excel转储。担任此职位的上一个人使用了大约十二个Excel文件来收集这些数据文件,对其进行操作并创建报告。 我已经开始将转储移至Access数据库。我注意到很多Excel数据都是相关的,应该将其标准化。我目前正在做的是为每个数据转储创建一个表,并将其导入Access,并使用许多查询来复制数十种数据操作和报告。 在我唯一的来源是Excel转储出仓库的情况下,对数据进行规范化还有好处吗? 当我无法更改转储发送给我的格式时,如何对数据进行规范化? 此外,我的计划(取决于预算)是从Access迁移到MS SQL数据库。
8 ms-access 

7
从MS Access编程移至SQL Server时的主要注意事项
我是100%自学的MS Access程序员(我的主要工作是编程),我现在正在建立更大的数据库;仍然使用MS Access作为UI,但使用SQL Server存储所有数据并完成更多的“工作”。 本质上,我的问题是;使用Access时,我可能不需要了解或需要了解哪些SQL Server主题? 不想让您告诉我如何做任何事情,更不要说您认为我应该进行研究的最重要的事情-有很多主题,而且涉及很多细节,不想长时间找自己沿着一条不太有价值的路走下去... 脑力激荡: 维护:最重要的是什么(检查数据库,缩减数据库,更新统计信息,重建等) 索引-我不太了解,是否有一本好书/博客等可以教我基础知识? 我错过的任何其他事情(可能很多,正如我所说的,我是SQL Server的新手...) 如果有帮助,我可以为中型零售商工作,而我主要从事的数据库工作包括 报告平台(从主系统汇总销售/收据/库存等,并提供快速报告) 第三方与我们的商店通过寄存器进行存储之间的协调工具(从第三方导入数据并交叉引用交易日志) 存储所有与促销有关的数据;产品,价格,预测,实际结果等

5
是否可以自动通知我SQL Server中的长时间阻塞?
大约每周一次,我必须解决SQL Server 2005数据库上的阻塞链,这是由Access 2003前端的长期读取锁定引起的。每当用户打开某个表单时,该锁便被取出;当用户完成滚动或关闭该表单时,该锁便被释放。由于我们的许多用户打开此表单作为参考,因此这些锁会保留一段时间。对表的任何更新都会导致阻塞,并且突然之间没有人可以从该表中进行选择,因为他们都在等待第一个锁。这对我们来说是个大问题,因为许多应用程序都依赖于此数据。我知道这种锁定行为是Access与链接表一起工作的一部分。 我一直在通过Activity Monitor解决问题,方法是在发现问题时杀死SELECT进程中的Head Blocker。这是一个问题,不仅是因为我花了一些时间手动进行操作,而且还因为它是被动的。到我听说时,对于许多人来说已经是一个问题。 我想知道是否有一种自动方法来检查这些持久的封锁链,并通过电子邮件发送或自动解决问题。逻辑看起来很简单(“如果匹配此SELECT查询的任何进程被阻塞超过一分钟,请通知我/杀死它”),但我不知道如何使用SQL Server来实现。 对于它的价值,我认为正确的解决方案是修复或重写应用程序。但是,由于部门的政治原因,在接下来的几个月中这不是一个选择,因此我正在寻找一个权宜之计。

3
如何在表级别记录Access中的数据更改?
我支持非营利组织的Access数据库。我们遇到了一些数据神秘变化的问题,关于它是由不是最懂计算机的用户还是我的某些后台处理引起的,引起了一些友好的辩论。 我为这些情况在UI级别上添加了一些检查,但是我想在数据库表级别上进行一些检查,以记录更改某些字段时的情况。通过这种方式,我将知道该更改是由用户启动还是仅由后台运行的更新查询启动。通常,我会使用on update触发器,但据我所知Access不支持触发器。Access中是否还有其他可用的日志记录或类似触发器的功能?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.