我没有找到任何关于我的问题的答案,所有独特的约束问题都不涉及MS Access.
问题是如何对MS Access 2003数据库中的多个堆栈字段进行唯一约束?
如果我的表包含列id, A, B, C, D, E, F
.我有列的索引ID,但我想有一个唯一约束两列设置A
和B
.因此,如果列中A
的值B
不同,我可能在列中具有重复值.
我想强调的是,我没有兴趣在这样一种变通方法创建新列的列与连接值A
和B
,并创建该列的约束.
我在MS Access 2003中有一个表,如下所示:
*url id* example.com red example.com blue example.com blue other.com red other.com orange more.com blue
对于每个URL,我想知道有多少唯一ID.所以在这种情况下,结果应该是:
*url count of distinct id* example.com 2 (because red and blue are the only values) other.com 2 more.com 1
这与SQL查询非常相似,可以计算不同值的数量,但在这种情况下解决方案不起作用,因为它依赖于COUNT DISTINCT
,但Access中不支持.我试图在Access中寻找替代方法,但我害怕我不理解答案.
所以我猜这个问题可以概括为"如何在msaccess中模拟计数明显".
如果有人能给我一个提示,我将不胜感激.
我有两张桌子.任务和类别.
TaskID不是主键,因为存在重复值.当为特定任务选择多个联系人时,taskid和其他详细信息将被复制.我写了查询:
SELECT Priority, Subject, Status, DueDate, Completed, Category
FROM Task, Categories
WHERE Categories.CategoryID=Task.CategoryID;
Run Code Online (Sandbox Code Playgroud)
现在,当为该任务选择多个联系人时,对于taskid = T4,有两个记录(以灰色突出显示).我曾尝试在ms access 2003中使用distinct,但它不起作用.我想显示不同的记录.(这里没有要求显示taskid)如果我写:
select priority, distinct(subject), .......
Run Code Online (Sandbox Code Playgroud)
并保持与上述查询中提到的相同,然后它给我一个错误.我也尝试过distinctrow.But没有成功.如何在ms访问中获取不同的值?
我有一个表RR_info,其中包含以下字段RR_ID,HR_ID,No_of_Beds,Room_Category.现在我希望通过带有Form_load事件的VBA代码,我应该为所有这些表字段填充文本框.为此我写了一个查询,根据hotel_id获取某些记录作为标准,但代码不起作用.
Private Sub Form_Load()
Dim SQL As String
Dim db As Database
Dim rs As DAO.Recordset
SQL = "select * from RR_info where hr_id = " & Forms![hhrrr]![List38] & ";"
Set db = CurrentDb
Set rs = db.OpenRecordset(SQL)
Me.RR_ID.Text = rs!RR_ID
Me.HR_ID.Text = rs!HR_ID
Me.Room_No.Text = rs![Room No]
Me.No_of_Beds.text = rs!No_of_Beds
Me.Room_Category.text = rs!Room_Category
Set rs = Nothing
Set db = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)
这是表的图片,其中我想通过VBA根据标准添加表数据
ms-access ms-access-2007 access-vba ms-access-2010 ms-access-2003
我用了
Docmd.OpenReport "Report1"
Run Code Online (Sandbox Code Playgroud)
从另一种形式,似乎只是想打印报告而不实际显示它.我想显示报告,而不是打印报告
我有这样的访问表
ID | UserName | CarBrand
-------------------------
0 Peter VW
1 Peter Ferrari
2 Mike Audi
3 Peter Dodge
4 Heidi BMW
5 Heidi Ford
Run Code Online (Sandbox Code Playgroud)
我需要CarBrand
字段中的名称作为报告的逗号分隔列表.
有没有一种方法(没有VB,可能使用COALESCE替代?)来创建这样的逗号分隔字符串,没有该Name:
部分?
Peter: VW, Ferrari, Dodge
Mike: Audi
Heidi: BMW, Ford
Run Code Online (Sandbox Code Playgroud)
因为它是一个报告,还有其他方法可以做到这一点,也许在报告中使用表达式?
像许多熟悉SQL语法的开发人员一样,在使用Access的查询编辑器时我感到很沮丧.我明白是在谈论原始的SQL语法视图.
它的许多烦人的特性之一是,在保存它将丢弃我的布局/格式.重新打开查询时,我看到的是一堆未格式化的SQL.
但是,如果我的语法很长和/或足够复杂,我注意到Access 将保留我的格式和布局,哦,快乐,查询仍然清晰可读.我现在正在看一个示例,其中包含一个SQL页面,其中包含UNIONs
几天前完美布局的几个.
Access在什么时候翻转以允许用户保留自己的格式?它长吗?复杂?是否有可能甚至是一个微不足道的结构编辑(如果琐碎的结构不是矛盾的)我可以对我的所有查询做出这将迫使Access留下我的布局?
我正在尝试在MS访问查询中运行以下条件作为条件.基本上我想做的是:
我当前的表达式不会给出任何错误,但也不会产生任何结果!表达式的TRUE和FALSE部分可以自行处理,但在组合到iif表达式时不起作用.
Like IIf([Forms]![F_leg_reg]![Check25]=True,Like [Forms]![F_leg_reg]![Combo9] Or "" Or Is Null,Like [Forms]![F_leg_reg]![Combo9])
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我这里我做错了什么吗?提前致谢.
我正在尝试在新的Access 2010 Access安装中使用Access 2003中编写的宏/ .mdb文件.打开我的文件我得到一个编译错误,说TableDef
无法找到该对象.当我检查我的工具 - >参考菜单时,我看到Microsoft DAO 3.6对象库可用,应该不够吗?或者是其他需要的东西TableDef
?
我其实有两个问题:
我甚至不知道它是否真的可能,但我非常感谢你的帮助!
为您提供信息:主要问题是很多人在同一个网络驱动器中使用相同的Access,因此当我需要更改它时,我必须全力以赴,但我永远不知道谁在实际使用它.
ms-access-2003 ×10
ms-access ×9
sql ×5
access-vba ×2
distinct ×2
vba ×2
constraints ×1
count ×1
multi-user ×1
report ×1
unique ×1