我想这样做,但它不会编译:
Public MyVariable as Integer = 123
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳方法是什么?
是否可以在VBA中的本地表上的MS Access中执行预准备语句,如下所示:
UPDATE part SET part_description=? WHERE part_id=?
Run Code Online (Sandbox Code Playgroud)
如果是这样怎么办?
我想做这个:
Const COLOR_GREEN = &H00FF00
Me.Label1.BackColor = COLOR_GREEN
Run Code Online (Sandbox Code Playgroud)
然而有一个问题是,vb自动决定将&H00FF00转换为&HFF00,所以我得到了这个:
Const COLOR_GREEN = &HFF00
Me.Label1.BackColor = COLOR_GREEN
Run Code Online (Sandbox Code Playgroud)
小数值COLOR_GREEN现在是-256而不是65280,所以背景是黑色而不是绿色!这很烦人,因为我可以使用#00FF00在表单设计模式中完美地设置颜色.
在表单设计模式下将颜色设置为#00FF00的等效值是多少?
我以为他们是一回事,只是我发现他们不是!
使用IE8我可以通过3种不同的方式显示相同的网页:
标准模式.XHTML严格DOCTYPE位于网页的顶部.
与上面相同,只是在IE8中点击了"兼容模式".现在网页显示有点奇怪.
如果我从网页中删除DOCTYPE(强制怪癖模式?).现在网页显示非常糟糕,与在"兼容模式"下查看时不同.此时点击'compatibilitybilty mode'没有任何区别.
我正在使用Access 2007,可以按如下方式复制此行为.
1)创建新的访问数据库accdb文件.
2)打开数据库并创建新的vba模块.
3)创建第一个子程序sub1:
Sub sub1()
Msgbox Err.Description
End Sub
Run Code Online (Sandbox Code Playgroud)
4)创建第二个子程序sub2:
Sub sub2(Description as String)
Msgbox Description
End Sub
Run Code Online (Sandbox Code Playgroud)
此时一切正常.
5)但是如果我去改变sub2以便'Description'读取'description',即将'D'改为'd',如下所示:
Sub sub2(description as String)
Msgbox description
End Sub
Run Code Online (Sandbox Code Playgroud)
这也有连锁效应,也改变了sub1!所以sub1现在读取:
Sub sub1()
Msgbox Err.description
End Sub
Run Code Online (Sandbox Code Playgroud)
为什么'Err.Description'改为'Err.description'?
这种行为似乎对代码的实际功能没有影响,所以没有问题.我遇到的一个大问题是我将我的vba模块导出为文本文件并将它们置于SVN控制之下.最近,由于这个原因,已经将大量无意义的"更改"提交到存储库.
关于如何阻止这种情况发生的任何想法?
我创建了一个基于 PHP Slim 框架的 Rest API,它使用 JSON Web Tokens (JWT) 来验证和授权访问。
要使用 API,客户端必须首先通过将其凭据发送到特殊/auth/token路由来验证自己,如果正确,则返回包含允许权限列表的数字签名令牌。对 API 的所有后续请求都需要令牌以进行身份验证和授权。这是非常标准的东西,效果很好。
但现在我想将/auth/token服务分离成自己的微服务,以便将来可以与其他 API 一起使用。
问题是,API 现在将如何验证 JWT,因为它们无权访问用于生成它的秘密?
我使用Firebase\JWT\JWT生成令牌,该令牌将移动到新的身份验证服务。我使用tuupola/slim-jwt-auth中间件来验证每个 API 上收到的令牌。
由于每个 API 和新的身份验证服务都将在同一台主机上运行,我可能可以在它们之间共享秘密,但这感觉是一种不好的做法。有没有更好的办法?
我有3个表父母,孩子和孙子的形式:
+----------------+ +----------------+ +---------------------+
| parent | | child | | grandchild |
+----------------+ +----------------+ +---------------------+
| parent_id (PK) | | child_id (PK) | | grandchild_id (PK) |
| parent_data | | child_data | | grandchild_data |
+----------------+ | parent_id (FK) | | child_id (FK) |
+----------------+ +---------------------+
Run Code Online (Sandbox Code Playgroud)
PK =自动递增主键.
FK =外键.
我想要一个存储过程,可以复制父表中的记录以及子表和孙表中的任何相关记录.我可以将父数据和子数据复制好,这是我正在努力的孙子表.这是我所拥有的:
CREATE FUNCTION sf_copy_parent(p_parent_id INT) RETURNS INT
BEGIN
DECLARE new_parent_id INT;
-- create new parent record
INSERT INTO parent(parent_data)
SELECT parent_data FROM parent
WHERE parent_id=p_parent_id;
SET new_parent_id=LAST_INSERT_ID();
-- …Run Code Online (Sandbox Code Playgroud) 例如,如何设置i标志以执行不区分大小写的匹配?甚至有可能吗?
在代码中,我通常会做类似的事情 /needle/i
在Visual Studio代码文档只能使一个提到过它使用的事实ripgrep正则表达式引擎。那里的文档也没有帮助我。
任何人都可以解释为什么第一个代码示例有效但第二个代码没有?
这个重新链接代码工作:
Dim db As Database
Dim sNewLinkAddress As String
sNewLinkAddress = "C:\temp\backend.accdb"
Set db = CurrentDb
db.TableDefs("table1").Connect = ";Database=" & sNewLinkAddress
db.TableDefs("table1").RefreshLink
Run Code Online (Sandbox Code Playgroud)
此重新链接代码不起作用,但没有给出错误消息:
Dim sNewLinkAddress As String
sNewLinkAddress = "C:\temp\backend.accdb"
CurrentDb().TableDefs("table1").Connect = ";Database=" & sNewLinkAddress
CurrentDb().TableDefs("table1").RefreshLink
Run Code Online (Sandbox Code Playgroud)
我担心的是,在使用CurrentDB()直接返回的Database对象和使用设置为CurrentDB()返回的Database对象的变量'db'之间,我不知道存在根本区别.在我看来,两种方式应该是相同的,但显然我错了!
在过去,我直接使用CurrentDB()来处理各种事情,比如打开一个没有问题的记录集.重新链接表似乎存在特定问题.有什么想法在这里发生了什么?
我正在使用Access 2007,但同样的问题也适用于2003.
如何从Singlevba中的变量中提取位?
例如,我想提取位23到30并将它们放入整数的最低8位.
vba ×6
ms-access ×3
access-vba ×1
colors ×1
filedialog ×1
hex ×1
jwt ×1
ms-office ×1
mysql ×1
public ×1
quirks-mode ×1
regex ×1
variables ×1
vb6 ×1