小编Rub*_*uck的帖子

在AutoFilter中组合多个排除(<>)条件

我通过使用这个肮脏的黑客解决了我的问题:

    ' Filter managerial functions
    ActiveSheet.Range("$A$1:$BW$2211").AutoFilter Field:=36, Criteria1:="<>Head*", _
    Criteria2:="<>IT*", Operator:=XlAutoFilterOperator.xlAnd
    ActiveSheet.Range("$A$1:$BW$2211").AutoFilter Field:=36, Criteria1:="<>Local Head*", _
    Criteria2:="<>Resp*", Operator:=XlAutoFilterOperator.xlAnd
    ActiveSheet.Range("$A$1:$BW$2211").AutoFilter Field:=36, Criteria1:="<>Team Lead*", _
    Criteria2:="<>XB*", Operator:=XlAutoFilterOperator.xlAnd
Run Code Online (Sandbox Code Playgroud)

有没有办法将这3个语句合并为一行?一旦我在一行中有第三个标准(Criteria3),Excel似乎就会出现问题.此外,似乎不支持<> Array().

excel vba autofilter excel-vba

5
推荐指数
1
解决办法
1万
查看次数

使用日期维度表而不是直接存储日期有什么好处?

我需要存储相当大的数据历史.我一直在研究存储这种存档的最佳方法.似乎数据仓库方法是我需要解决的问题.强烈建议使用日期维度表而不是日期本身.任何人都可以向我解释为什么一个单独的表会更好?我没有必要总结任何数据,只需在过去的任何一天快速有效地访问它.我确定我错过了一些东西,但我只是看不出如何将日期存储在一个单独的表格中比在我的档案中存储日期更好.

我找到了这些有启发性的帖子,但没有什么能完全回答我的问题.

sql sql-server database-design

4
推荐指数
1
解决办法
1717
查看次数

MS访问中的按位操作

我有一张包含答案的表格.这个答案是一组数字的组合.(见下文)

可能的值

2 4 8 16 32 64

如果我有答案24的答案 - 我需要一些方法来计算出唯一可以选择的值是16和8.我被告知这是否在SQL中我将使用按位运算.

我在Access方面相当先进,但往往不使用VBA代码,但我对所有想法持开放态度.

ms-access vba bitwise-and

4
推荐指数
1
解决办法
2936
查看次数

文件复制与名称功能?区别在哪里?

我找到了两种使用VBA在Excel中复制单个文件的方法.一个是文件副本:

FileCopy (originalPath), (pathToCopyTo)
Run Code Online (Sandbox Code Playgroud)

另一个是名字:

Name (originalPath) As (pathToCopyTo)
Run Code Online (Sandbox Code Playgroud)

性能/预期用途/功能有何不同?我没有注意到任何事情,但有兴趣知道!

excel vba excel-vba

4
推荐指数
1
解决办法
366
查看次数

定时器每30分钟运行一次代码

由于我处于开发模式,我的前端需要大量更新.这是我在用户尝试打开前端时检查版本的功能:

Public Function FEPath(DBName As String)

Dim Conn As New ADODB.Connection
Dim DataConn As New ADODB.Recordset
Dim Comm As String
Dim strPath As String
Dim strDB As String
Dim strVer As String
Dim strExt As String

Comm = " SELECT tblFE.Database, tblFE.Version, tblFE.Extension " & _
        " FROM tblFE WHERE tblFE.[Database] = '" & DBName & "';"

Set Conn = CurrentProject.Connection
DataConn.Open Comm, Conn, adOpenKeyset, adLockOptimistic

With DataConn
    strDB = ![Database]
    strVer = ![Version]
    strExt = ![Extension]

    strPath = "C:\Databases\" …
Run Code Online (Sandbox Code Playgroud)

ms-access vba access-vba

3
推荐指数
1
解决办法
1万
查看次数

如何创建暴露给COM的只读属性?

我有一个C#类,我想通过COM向VB6公开.问题是这需要为类提供默认构造函数.因此,我必须将setter暴露给客户端,以便可以将这些属性设置为开头.

例如:

[Guid("B1E17DF6-9578-4D24-B578-9C70979E2F05")]
public interface _Class1
{

    [DispId(2)]
    string Message { get; set; }

    [DispId(1)]
    string TestingAMethod();
}

[Guid("197A7A57-E59F-41C9-82C8-A2F051ABA53C")]
[ProgId("Project.Class1")]
[ClassInterface(ClassInterfaceType.None)]
public class Class1 : _Class1
{
    public string Message { get; set; }

    public Class1() { } //default constructor for COM

    public Class1(string message)
    {
        this.Message = message;
    }

    public string TestingAMethod()
    {
        return "Hello World";
    }
}
Run Code Online (Sandbox Code Playgroud)

通常,我会将该财产声明为:

public string Message { get; private set; }
Run Code Online (Sandbox Code Playgroud)

但这显然不起作用,因为COM不能使用接受参数的构造函数.

所以,问题是:

如何确保只使用一次private set或不使用readonly

c# com properties readonly

3
推荐指数
1
解决办法
298
查看次数

当它应该被附加时,文本被覆盖

这看起来很容易(我已经完成了一百万次,从来没有遇到过问题),但这让我很伤心.

我想根据Excel电子表格中的内容创建一些SQL脚本.为此,我创建了一个使用以下代码读取文本文件的宏

Dim fso As FileSystemObject
Set fso = New FileSystemObject

Dim stream As TextStream
Set stream = fso.OpenTextFile(filepath, 8, False)
Run Code Online (Sandbox Code Playgroud)

应该打开文本文件以追加并插入我的新值.

不幸的是,它总是被覆盖而不是追加,这让我疯狂.

有任何想法吗?

file-io vba filesystemobject

2
推荐指数
2
解决办法
3万
查看次数

变量未定义的编译器错误

我是一个很长时间的狂热Excel用户,但我刚刚开始学习VBA.我使用以下代码但在尝试运行时遇到错误Sub test:

编译错误:未定义变量

你能帮我弄清楚出了什么问题吗?

Option Explicit

Function toFarenheit(degrees)
    toFarenheit = (9 / 5) * degrees + 32
End Function

Function toCentigrade(degrees)
    toCentigrade = (5 / 9) * degrees - 32
End Function

Sub test()
    answer = toCentigrade(55)
    MsgBox answer    
End Sub
Run Code Online (Sandbox Code Playgroud)

vba compiler-errors

2
推荐指数
1
解决办法
4万
查看次数

将等式符号发送到If语句

基本上,我在VBA中有一个函数,你发送一些参数,然后它用它做一些数学给出一个值.我发送的参数之一是a "<"或a ">",后来在if语句中使用

if x > y
Run Code Online (Sandbox Code Playgroud)

要么

if x < y
Run Code Online (Sandbox Code Playgroud)

取决于我发送的内容.

目前,我将其作为字符串发送,标记为"约束",并执行以下操作;

if constraint = ">" then
  if x > y

    *code*
  end if

elseif constraint = "<" then
  if x < y
    *code*
  end if
end if
Run Code Online (Sandbox Code Playgroud)

如果这是有道理的.

这与我拥有的其他代码相比变得复杂; 有没有办法可以把它变成一个if语句?

excel vba if-statement excel-vba

2
推荐指数
1
解决办法
74
查看次数

向 MS Access 表单添加帮助提示

有没有办法向 Access 表单中的字段添加“帮助”提示,这样当用户将鼠标悬停在该字段上时,该提示会显示在窗口中,然后在用户选择该字段或其鼠标不再悬停在字段上?

这类似于 MS Excel 中的注释。

我可能可以使用事件来管理它,或者只是在字段旁边放置一个帮助按钮,但我认为可能有一些简单的解决方案,例如我不知道的属性。

我做了一些谷歌搜索,但找不到任何东西来完成这个。

ms-access

2
推荐指数
1
解决办法
2487
查看次数