VBA中dim,static和public,private的区别

本文详细解析了Public与Private定义变量的作用域及特性,对比了Dim与Static定义变量的不同之处,包括数据保留方式及其适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Public和Private一般用于定义全局变量,也可以在类中使用。

区别在于:[Public]前者定义的是公共变量,如果在一个模块当中使用,那么整个应用程序都能使用它所定义的变量,如果在类中使用,那么它就是一个共有属性。

[Private]而后者定义的是私有变量,如果在一个模块中使用,那么只有这个模块才能访问到它所定义的变量,如果在类中使用,那么它就是一个私有属性。


二、Dim和Static一般在过程(Sub或者Function)内部使用,它们所定义的变量都只能在过程内部被访问。

区别在于:[Dim]前者定义的是动态变量,过程一旦结束,该变量所占有的内存就会被系统回收,而变量所储存的数据就会被破坏。

[Static]后者定义的是静态变量,这意味着在过程结束后这个变量所占有的内存不会被回收,数据当然也不会被破坏了,这样当你下次再调用该过程的时候,数据就依然存在。

相比之下,Public和Static都有保留数据不被破坏的作用,但是,前者适合于那些所有过程都可能访问到的变量,而后者则把变量的作用范围缩在最小(只在该过程内能被访问)。

基于python+NSGA2算法的供水管网水质监测点布局+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 供水管网水质监测点/传感器布局优化 1.基于整数编码的NSGA2算法 2.最短监测时间与最大监测概率双目标函数 3.使用基于epanet的wntr库进行水力水质模拟,并处理结果 4.将处理结果代入NSGA2算法, 迭代计算出结果 5. 所有功能基本实现, 流程基本可以走通 程序概述 本程序主要是解决供水管网水质监测点的布局优化问题; 面向的是突发污染情况下的水质监测点选取,因此需要多节点进行水质污染注入实验; 之前的做法都是使用epanet的程序包,链接库,但USEPA之后开源了基于Python的水力水质模拟库WNTR; 因此本程序使用了WNTR进行水力水质模拟,编写了水质模拟、数据处理模块;用于解决污染实验的实现与数据收集处理; 由于选择监测点是布局优化问题,因此使用了常见的进化算法NSGA2——非支配遗传算法; 水质监测布局常用的目标是最小化监测时间和最大化监测事件,即一组监测点尽可能对污染事件发生响应最快,对污染事件监测到的数量最多即为最优,但两个目标属于负相关。 有关帕累托解、NGSA2算法请自行搜索其他资料。 本程序实现了水质模拟、数据处理、算法迭代的全部过程。
### 金仓数据库概述 金仓数据库(Kingbase),是由中国人民大学研发的一款高性能关系型数据库管理系统。该系统不仅支持标准SQL语句,还提供了丰富的数据管理和处理功能[^1]。 ### 安装过程详解 对于初次使用者来说,安装金仓数据库分为几个主要阶段: #### 下载并准备安装环境 - 需要先访问官方渠道获取最新版本的安装包。 - 对于Linux台,默认推荐安装路径为`/opt/Kingbase/ES/V8`,但如果当前用户不是root,则可能遇到权限不足的问题,在这种情况下建议切换至具有适当权限的账户执行操作或者更改目标位置[^4]。 #### 执行具体安装步骤 - 启动安装向导后跟随屏幕上的指示逐步设置各项参数,包括但不限于指定安装目录、设定监听端口等重要选项。 - 当所有必要配置完成后提交确认即可开始部署流程直至结束提示成功消息为止[^3]。 ### 基础命令行交互指导 一旦顺利完成上述工作就可以通过终端工具进一步探索其特性了: ```bash docker exec -it f41266a394b2 bash # 登录到特定ID号对应的Docker容器内部Shell环境中去 cd /home/kingbase/ES/V8/template/ # 转移到存放模板文件夹下查看相关资源 ps -ef | grep kingbase # 列举正在运行中的进程列表里含有关键字"kingbase"项来判断服务状态 ksql -U SYSTEM TEST # 使用超级管理员身份登录名为TEST的数据集实例之中开展查询活动 ``` 以上指令序列展示了如何利用命令行方式管理维护以及初步测试新搭建起来的服务实例。 ### SQL编程实践入门 熟悉基本的操作之后可以尝试编写简单的结构化查询语言(SQL)脚本来实现更复杂的需求。例如创建表单、插入记录或是构建视图等功能均可以通过这种方式达成目的[^2]。 ```sql CREATE TABLE example ( id INT PRIMARY KEY, name VARCHAR(50), age SMALLINT UNSIGNED ); INSERT INTO example VALUES (1,'Alice',27),(2,'Bob',24); SELECT * FROM example WHERE age >= 25; ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值