MS Access 中 VBA 代码的继承

2024-01-01

我开始学习Access中的VBA。我读到该语言没有继承性。 然后我读了一个示例代码,看起来它实际上具有继承:

Dim ctrl As Control

...

If TypeOf ctrl Is TextBox Then ...
If TypeOf ctrl Is ListBox Then ...

在我看来,TextBox、ListBox 都是从 Control 继承的。有人可以解释一下吗?


不。它们并非源自Control班级。他们实施Control的定义/方法和属性签名。道路TypeOf and Is运算符的工作原理是检查类的实例是否实现 3 个类别之一(如下所列)。

open a new作业簿

转到VBE并添加

a 类模块并将其命名为:MyClass

在代码视图中仅添加Implements MyInterface

a 类模块并将其命名为:MyInterface

在代码视图中 -什么都不做/留空

a module并复制粘贴以下代码并运行它

Sub Main()

    Dim cls As MyClass
    Set cls = New MyClass

    Debug.Print TypeOf cls Is MyClass
    Debug.Print TypeOf cls Is MyInterface

End Sub

结果可能会令人惊讶

True
True

cls多变的有两种类型 - MyClass and MyInterface

如你看到的cls不继承任何东西MyInterface但定义。使用时TypeOf and Is它实际上显示为真,因为MyClass实施MyInterface。并不是因为它源自MyInterface类但因为它实施 it.

现在,假设

result = TypeOf objectexpression Is typename

The TypeOf运算符确定变量的运行时类型是否兼容typename。兼容性取决于类型类别typename。共有三类

  • Class 对象表达式属于类型typename或继承自typename

  • 结构 对象表达式属于类型typename

  • 界面 对象表达式实施typename or 继承自一个实现了 typename

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MS Access 中 VBA 代码的继承 的相关文章

  • 将单元格背景颜色设置为其包含的 RGB 值。如何?

    下面是我希望通过手动复制和粘贴以外的方式实现的屏幕截图 这是材料设计调色板 在 Excel 中看起来很棒 如何循环遍历范围 B2 B15 并将每个单元格背景颜色设置为其相应的包含颜色 也许是一个VBA loop去经历垂直 B 单元格范围 解
  • 从父类的List中提取子类元素

    我目前有一个这样的列表 List
  • 将 PDFMaker 与 MS Outlook 结合使用

    我想将 Adob e PDFMaker 插件与 MS Outlook 2013 一起使用 使用 PDFMAKER 将多封电子邮件保存为 pdf https stackoverflow com questions 44723984 savin
  • 解析未完全加载 VBA 的网站

    尝试进行简单的网络解析 我的问题是页面在向下滚动之前无法完全加载 谷歌搜索已经提出可能使用硒 但由于我不知道如何使用它 我想我会在这里问 我使用的代码 Sub gfquote Dim oHttp As MSXML2 XMLHTTP Dim
  • 在 Excel 工作簿中找不到链接

    我编写了一个宏来打开多个受密码保护的工作簿 这些工作簿彼此之间都有链接 因此为了方便起见 我设置了UpdateLinks 0这样在其他书籍打开之前 我就不会收到所有链接更新的密码提示 所有工作簿打开后 我尝试使用以下命令更新链接 Workb
  • Excel 的查找和查找下一个 VBA

    我一直在试图弄清楚如何处理这个问题 但基本上我想要一种方法来打印 B 列中的值 给定与 A 列匹配的特定值 例如 Column A Column B 1 ABC 2 DEF 3 GHI 1 JKL 我想在使用 find findnext 或
  • 继承属性,从 readonly 继承的属性中读写时不会合成 setter

    我在使用属性时发现了一个奇怪的行为 该属性被继承为只读 然后在继承的类中重新声明为读写 In A h interface A NSObject property nonatomic strong readonly NSObject some
  • Flask-SQLAlchemy 单表继承

    SQLAlchemy 支持单表继承 http docs sqlalchemy org en latest orm inheritance html single inheritance 我的结构如下 class User db Model
  • 是否有任何公式可用于将特定单元格复制指定次数?

    目前我正在处理一份数据 其中我有一个公司名称列表 例如 1 A 2 B 3 C 还有很多 需要的结果是 1 A 2 A 3 A 4 A 5 A 6 B 7 B 8 B 9 B 10 B 11 C 12 C 13 C 14 C 15 C 等等
  • Outlook 中用于删除重复电子邮件的宏 -

    Public Sub RemDups Dim t As Items i As Integer arr As Collection f As Folder parent As Folder target As Folder miLast As
  • 扩展多个类

    我知道 Java 不支持多重继承 因为不允许扩展多个类 我只是想知道我的问题是否有解决方法 我有一个名为CustomAction需要扩展两个抽象类 BaseAction and QuoteBaseAction 我无法更改这些抽象类中的任何一
  • 在 C# 中为父窗体中的子窗体控件添加事件处理程序

    我有两种形式 一种是带有按钮和文本框的父表单 单击该按钮时 将打开一个对话框 该子窗体又包含一个文本框和一个按钮 现在我想要的是 每当子表单文本框中的文本更改时 父表单文本框中的文本会自动更改 为了获得这个 我所做的是 Form3 f3 n
  • 从VBA中的数组批量插入到sql中

    我正在尝试在 Excel 中构建一个按钮 将所选区域上传到 SQL Server 中的表中 第一行将自动视为列标题 这件事该怎么继续下去呢 我想要的是简单和超快的上传 这是我的想法 我将选择选定的区域 然后将其保存为 txt 文件 然后对其
  • python 类工厂继承随机父类

    我有一些这样的代码 class Person object def drive self f t raise NotImplementedError class John Person def drive self f t print Jo
  • VB:在 Adob​​e Illustrator、Photoshop 中分配给布尔属性

    在使用 VBA 自动化 Adob e Illustrator CS3 时 我发现分配一个布尔变量 to a 布尔属性结果总是分配 False Dim New Path As Illustrator PathItem Dim v As Boo
  • 从单元格中具有多种颜色的单元格中提取字体颜色

    我有一个 Excel 工作表 我正在尝试将其存入 MySQL 数据库 我使用 VBA 将数据作为文本写入文件 然后将其上传到数据库 在工作表的单元格中 有一些已用颜色编码的字符串 颜色具有一定的含义 因此当我将值移入数据库时 我想保留它们
  • 如何根据文本框值过滤列表框值

    我在用户窗体上有一个文本框和一个列表框 我想根据我在文本框中输入的值过滤列表框中的值 名为 TMP 的工作表具有值 我根据文本框更改事件对其进行过滤 但在将该值添加到列表框中时它 会自动退出 Private Sub Textbox1 Cha
  • 有没有办法从包含类名的字符串实例化对象?

    我有一个文件 Base h class Base class DerivedA public Base class DerivedB public Base etc 和另一个文件 BaseFactory h include Base h c
  • VBA 写入文件时对数值进行四舍五入 - 如何防止?

    在下面的代码中 我在确保文件编写器不会将我的数字四舍五入到一定的小数位数时遇到问题 我需要使用变体 因为有时该值是字符串 有时它是数字 我怎样才能强制它准确地写出变量是什么 例如 下面的代码可能显示 0 00038 我想显示确切的值 Dim
  • VBA删除列中的单元格并根据单元格的值左移?

    如果单元格为空 如何删除 B 列 和左移 中的单元格 下面是我所拥有的 但它给出了 应用程序定义或对象定义的错误 Sub DeleteCellShiftLeft For i 1000 To 1 Step 1 If Cells i B Val

随机推荐

  • 在 python pandas 中,使用数据框中选定的列为每行数据创建哈希值

    我问过了类似的问题 https stackoverflow com questions 5086794 create hash value for each row of data in dataframe in r在 R 中关于为每行数据
  • 使用 putImageData 从画布上的像素数组绘制图像

    我正在开发一个可以加密图像并在画布上重新绘制解密图像的项目 由于我对编码和编程还很陌生 目前在重绘解密的图像数据时遇到问题 该数据是 R G B A 形式的像素数组 我认为只需将数据放入 ctx putImageData imgd 0 0
  • 低高度图表上高点的工具提示未显示

    我有一个问题 工具提示无法根据图表 浏览器窗口的大小显示 在我看来 这最初看起来像是分面图的问题 但这种行为在常规 单个图表上也很明显 我已经做了很多搜索 但到目前为止还没有找到任何东西 情节论坛上有一个类似的帖子 但目前还没有答案 这是单
  • 如果在 spring jpa 中连接关闭,如何重新连接数据库?

    我在我的 Web 应用程序中使用 spring boot spring jpa mysql 当我的应用程序运行几个小时时 我总是遇到以下异常 2016 07 30 21 27 12 434 ERROR 13553 http nio 8090
  • fmdb 执行更新失败

    我究竟做错了什么 这是一个非常简单的语句 但无法弄清楚是什么导致它失败 FMDatabase db FMDatabase databaseWithPath appDelegate databasePath db open isSuccess
  • Android 返回时刷新 Activity

    我需要一点帮助来刷新我的应用程序中的一项活动 我正在使用选项卡主机活动并连接到 Web 服务并从我的子活动之一下载一些数据 当我在子活动中按下同步按钮时 我将启动一个不在选项卡主机中的新活动 同步完成后 它会返回到其父活动 子活动 我想要实
  • remove() 之后 ConcurrentLinkedQueue$Node 仍保留在堆中

    我有一个多线程应用程序写入和读取 ConcurrentLinkedQueue 它在概念上用于支持列表 表中的条目 我最初为此使用了 ConcurrentHashMap 效果很好 一项新要求要求跟踪传入的订单条目 因此可以根据某些条件 从最旧
  • 如何加快 pandas.DataFrame .to_sql 的插入速度

    您好 我目前正在尝试将四个 pandas 数据帧中的数据写入本地计算机上的 mysql 我的计算机需要 32 秒插入 20 000 条记录 每个表 5000 条 代码 表格 1 帖子 2 post stats 3 后语言 4 帖子标签 en
  • 为什么 PowerShell 将 DateTime 格式字符串中的斜杠视为点?

    PS C gt Get Date ToString MM dd yyyy 11 12 2016 PS C gt DateTime ParseExact 10 14 2016 MM dd yyyy null Exception calling
  • 类型不符合 Alamofire 的“URLRequestConvertible”协议

    这是代码 enum Router URLRequestConvertible Error Type Five100px Router does not conform to protocol URLRequestConvertible st
  • LINQ Lambda,按列表分组

    我在寻找正确的语法来完成以下任务时遇到了一些麻烦 是否可以使用 LINQ Lambda 表达式 到 GroupBy 数据 而不是使用通常的 Sum 或 Count 我希望结果数据是 Int 列表 我定义了自己的类 名为 Filter IDs
  • SQL Developer 操作系统身份验证

    我有 Oracle SQL Developer 版本 4 1 19 64 位 其中包含 JDK8 这适用于需要 用户名 密码 组合的 Oracle 连接 没有问题 我的问题是我无法连接操作系统身份验证配置 请注意 我can使用操作系统身份验
  • 播放/录制 .DSS 或 .DS2 文件

    我正在运行一个项目 该项目应该允许播放并最终录制 DSS 数字语音标准 和 DS2 数字语音标准专业版 音频文件 但是 我似乎找不到任何相关内容 有没有什么方法可以实现这个目标 或者有什么库可以让它启动并运行 我正在使用 android 内
  • 将逗号分隔符添加到值变量

    我已经阅读了数千个逗号分隔符 JavaScript 问题 答案 但发现很难在实践中应用它 例如我有变量 x 10023871234981029898198264897123897 231241235 我如何用逗号分隔它的千位 我想要一个不仅
  • 了解使用无符号位板生成滑块移动的“o^(o-2r)”公式?

    我正在尝试做什么我正在尝试执行一些按位运算来创建国际象棋引擎 为了制作这个引擎 我需要能够生成棋子的动作 比如车 有一个方便的公式 https www chessprogramming org Subtracting a Rook from
  • 使用 ssh 检查远程计算机上是否存在目录

    这个问题已经发布 但我想知道是否有一种方法可以通过 ssh 直接从命令行而不是从脚本来知道远程计算机上是否存在目录 正如我在上一篇文章中看到的 如何通过 ssh 检查 dir 是否存在并将结果返回到主机 https stackoverflo
  • jQuery text() 在toggle() 上发生变化?

    我想制作一个根据其他元素可见性更改切换链接文本的脚本 因此 当 form 可见时 我希望 form container 的文本为 隐藏 而当它隐藏时 我希望文本为 显示 我尝试过这一行 if form is visible 另一种方式 if
  • 飞镖参考地图不改变地图

    我想知道为什么map1无法打印 a 2 b 3 就像map2一样 void main Map
  • 如何检测角度为 2 的 div 中的内部 html 变化?

    我有一个类似的组件 Component selector my component template div Some value comes here dynamically from server div class MyCompone
  • MS Access 中 VBA 代码的继承

    我开始学习Access中的VBA 我读到该语言没有继承性 然后我读了一个示例代码 看起来它实际上具有继承 Dim ctrl As Control If TypeOf ctrl Is TextBox Then If TypeOf ctrl I