所以当单击命令按钮时,我有一个简单的小宏/子定义.问题是它给了我:
运行时错误'91':对象变量或未设置块
我的代码是:
Dim rng As Range
rng = Sheet8.Range("A12") '<< ERROR here
rng.Value2 = "1"
Run Code Online (Sandbox Code Playgroud)
我只想在Sheet8中设置Cell"A12".

谢谢!
所以我在DLL和该类的子类中有一个抽象基类.我希望孩子们是公共的,但是要成为私人的基础,以便它不能在dll之外访问.
我怎么做?
如何在MSAccess VBA代码中调试错误的DLL调用约定错误?
我对模块中的函数进行了一些更改,然后得到了错误.如何通过调试来查找原因?
该函数的Exit函数语句中发生错误.
我甚至不知道我是否以正确的方式进行此查询.有一个Sandwiches表有7个字段,其中2个是组合框(Type和Bread).
所以我做了一个查询,将所有组合框值组合成一个查询,如下所示:
SELECT TypesAndBreads.TBName, TypesAndBreads.Type
FROM (SELECT [Sandwiches Types].[Sandwich Type] As TBName, "Sandwich Type" As Type
FROM [Sandwiches Types]
UNION ALL
SELECT Breads.Bread As TBName, "Bread" As Type
FROM Breads) AS TypesAndBreads;
Run Code Online (Sandbox Code Playgroud)
我现在得到了桌子的平坦值,我想要计算每个下面的所有三明治TypesAndBreads.TBName.我有这个,只是为了确保它适用于所有的三明治:
SELECT TypesAndBread.Type, TypesAndBread.TBName,
(SELECT Count(Sandwiches.[SandwichID]) As SandwichCount
FROM Sandwiches) As SandwichCount
FROM TypesAndBread;
Run Code Online (Sandbox Code Playgroud)
但我想在子查询中引用当前的Type和TBName.像这样的东西:
SELECT TypesAndBread.Type, TypesAndBread.TBName,
(SELECT Count(Sandwiches.[SandwichID]) As SandwichCount
FROM Sandwiches
WHERE Sandwiches.[TypesAndBread.Type] = Sandwiches.[TypesAndBread.TBName]) As SandwichCount
FROM TypesAndBread;
Run Code Online (Sandbox Code Playgroud)
但当然这不起作用.我不认为会这样,只是想试一试.我想可能在打开报告时使用VBA构建查询,该查询将基于此查询.
所以我想我的问题是:有没有办法在子查询中引用当前选定的字段?或者有不同的方法来解决这个问题吗?
谢谢您的帮助
编辑: 我的表结构是这样的:
Sandwiches的领域 …
我有一个查询,我想对表执行.结果我想做点什么.在我的脑海中,伪代码是:
var q = "select * from table where some condition";
var results = db.getResults(q);
foreach (row r in results )
do something with result
Run Code Online (Sandbox Code Playgroud)
我怎么会这样与vba类似?
目前我正在考虑通过SQlite数据库替换单用户.NET C#Windows窗体应用程序上的Microsoft Jet MDB数据库的使用.
我的目标是降低Jet驱动程序的安装要求以及Jet安装损坏时的一些令人讨厌的错误(我们现在有客户报告这些错误).
我对性能的质疑是:
是否有任何性能基准测试比较MDB和SQLite对相当小的数据集?
或者是否有任何开发人员已经采取了这一步骤,并可以根据自己的经验讲述一些故事?
(我现在谷歌搜索几个小时没有成功)
更新
虽然数据库不包含那么多记录和表,但我认为性能仍然是一个问题,因为数据经常被访问.
该应用程序是一个所谓的"桌面CMS系统",它呈现HTML页面; 在渲染过程中,正在访问大量数据并且正在执行大量SQL查询.
更新2
刚刚发现这个文档表明了一些速度比较,遗憾的是没有MDB,据我所知.
更新3
根据要求,一些数字:
更新4
换句话说:我当前的MDB实现没有任何性能问题.我问这个问题是为了感觉在使用SQLite而不是MDB时性能是否相等(或更好).
我已经将我在其中一个应用程序中看到的一个问题归结为一个非常简单的复制样本.我需要知道是否有什么不对劲或我遗漏的东西.
无论如何,下面是代码.行为是代码在内存中运行并稳定增长,直到它与OutOfMemoryException崩溃.这需要一段时间,但行为是对象被分配,而不是垃圾收集.
我已经采取内存转储并运行!gcroot对某些事情以及使用ANTS来弄清楚问题是什么,但我已经有一段时间了,需要一些新的眼睛.
此复制示例是一个简单的控制台应用程序,可创建Canvas并为其添加一行.它不断地这样做.这就是所有的代码.它不时地睡觉,以确保CPU不会因为你的系统没有响应而被征税(并且确保GC无法运行并不奇怪).
有人有什么想法?我已经尝试过仅使用.NET 3.0,.NET 3.5以及.NET 3.5 SP1,并且在所有三种环境中都会出现相同的行为.
另请注意,我已将此代码放在WPF应用程序项目中,并通过单击按钮触发代码,它也会出现在那里.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Controls;
using System.Windows.Shapes;
using System.Windows;
namespace SimplestReproSample
{
class Program
{
[STAThread]
static void Main(string[] args)
{
long count = 0;
while (true)
{
if (count++ % 100 == 0)
{
// sleep for a while to ensure we aren't using up the whole CPU
System.Threading.Thread.Sleep(50);
}
BuildCanvas();
}
}
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
private static void BuildCanvas()
{
Canvas c = new Canvas(); … 我需要通过计算机上的各种目录(通过DirectoryInfo).其中一些不可访问,并发生UnauthorizedAccessException.如何在不捕获异常的情况下检查目录访问?
表格1
id1 ==>数字
id2 ==>数字
id希望id1包含uniqe编号,id2包含唯一编号.
如何设置id1和id2 primary key?
ms-access ×5
vba ×4
.net ×2
access-vba ×2
c# ×2
dll ×2
excel ×2
excel-2007 ×1
excel-vba ×1
jet ×1
memory-leaks ×1
primary-key ×1
select ×1
sql ×1
sqlite ×1
wpf ×1