【问题标题】:MSAccess Missing Column After Relinking Table重新链接表后 MSAccess 缺少列
【发布时间】:2021-09-12 22:24:54
【问题描述】:

我正在尝试向 MSAccess 中的表单添加下拉组合框。奇怪的是缺少(电子邮件)列。我已执行以下检查/操作

  1. 已验证 SQL 表 (SUP_CONTACTS) 具有所需的列
  2. 经过验证的 MS Access 已将 linked 表 (SUP_CONTACTS) 链接并包含所需的列。
  3. 删除并重新链接表(多次),修复数据库(多次)

运气不好,也不确定是什么导致了这个缺陷。

非常感谢任何帮助。谢谢。

图 A:带有电子邮件列的 SQL 表 (SUP_CONTACTS)

图 B:带有电子邮件列的 MSAccess 链接表 (SUP_CONTACTS)

图 C:组合框缺少电子邮件列

【问题讨论】:

  • 您是否尝试将类型更改为短文本?我不明白为什么电子邮件需要是长文本
  • @JonathanWillcock 这似乎确实有效。谢谢
  • 组合框将文本截断为 255 个字符,因此该向导似乎足够聪明,甚至不提供长文本列。
  • 在 MSAccess 中,任何大于 255 个字符的内容都被视为 blob。这是一个巨大的痛苦,迫使你以愚蠢和烦人的方式设计数据结构
  • @DougCoats 的确是我必须以艰苦的方式学习的一课。我已经转换了列,只有一封长得离谱的电子邮件丢失了.. 摆脱困境。我们现在很好:)

标签: sql-server forms ms-access ms-access-2010 linked-tables


【解决方案1】:

我会尝试将数据类型从长文本更改为短文本。短文本允许 255 个字符,这对于电子邮件地址来说已经足够了。如果这给您一个数据类型不匹配的错误,那么您将不得不发挥创造力。这是处理日期类型不匹配导致的错误的一种方法。创建一个仅包含链接表中的电子邮件地址的新本地表,将数据类型更改为短文本并将该字段包含在组合框中。这样做的缺点是,每当您必须刷新电子邮件时,您都需要重复此过程。但是有一些方法可以简化这样的任务。

【讨论】:

  • 好点。我已将所有最大长度类型列转换为 255。再次感谢!
猜你喜欢
  • 2015-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-01
  • 1970-01-01
  • 2010-12-17
  • 1970-01-01
相关资源
最近更新 更多