我正在为VBA中的数组寻找合适的排序实现.Quicksort将是首选.或任何其他排序算法除了冒泡或合并之外的就足够了.
请注意,这是为了与MS Project 2003一起使用,因此应避免使用任何Excel本机函数和任何.net相关的函数.
我有一个相当大的数据集,并希望将其存储在一个文件而不是RDBMS中.
数据集中的主表只有超过1M行,30列和大约600Mb的CSV格式.
我在考虑SQLite.SQLite值得调查这个大小的数据集吗?
我在使用引号解析CSV数据时遇到了一些问题.我的主要问题是字段中的引号.在以下示例中,第1-4行正常工作,但5,6和7不工作.
COLLOQ_TYPE,COLLOQ_NAME,COLLOQ_CODE,XDATA
S,"BELT,FAN",003541547,
S,"BELT V,FAN",000324244,
S,SHROUD SPRING SCREW,000868265,
S,"D" REL VALVE ASSY,000771881,
S,"YBELT,"V"",000323030,
S,"YBELT,'V'",000322933,
Run Code Online (Sandbox Code Playgroud)
我想避免使用Text :: CSV,因为它没有安装在目标服务器上.意识到CSV比他们看起来更复杂我正在使用Perl Cookbook中的食谱.
sub parse_csv {
my $text = shift; #record containg CSVs
my @columns = ();
push(@columns ,$+) while $text =~ m{
# The first part groups the phrase inside quotes
"([^\"\\]*(?:\\.[^\"\\]*)*)",?
| ([^,]+),?
| ,
}gx;
push(@columns ,undef) if substr($text, -1,1) eq ',';
return @columns ; # list of vars that was comma separated.
}
Run Code Online (Sandbox Code Playgroud)
有没有人建议改进正则表达式来处理上述情况?
是否有通用的方法来克隆VBA中的对象?这样我可以将x复制到y而不是只复制指针?
Dim x As New Class1
Dim y As Class1
x.Color = 1
x.Height = 1
Set y = x
y.Color = 2
Debug.Print "x.Color=" & x.Color & ", x.Height=" & x.Height
Run Code Online (Sandbox Code Playgroud)
通用我的意思是,Set y = CloneObject(x)
而不是必须为类逐个复制其属性创建自己的方法.
我已经编写了一些非常基本的工具,用于对来自非数据库源(例如:CSV,OLTP系统)的数据集进行分组,旋转,联合和小计."分组依据"方法是大多数方法的核心.
但是我确信在制作分组数据的高效算法方面已经做了很多工作......而且我确定我没有使用它们.而我的Google-fu完全没有提供任何帮助.
是否有任何好的在线资源或书籍描述了创建分组数据的更好方法?
或者我应该开始查看MySQL源代码或类似的东西?
我需要从网络上的 .mpp 文件中提取数据,并将其与多个不同数据库中的其他数据结合起来。该应用程序可以用 Perl、VB6、VB.net 或 C# 编写,但必须可以从基于 Windows 的服务器轻松调度。
您建议如何在无需用户干预的情况下提取 MS Project 数据?
是否有适用于 MS Project 的 ODBC 驱动程序?
是否有任何模块(适用于 Perl、VB、VB.net 或 C#)用于打开 .mpp 并读取活动数据?
我们实际上有100个Access数据库在网络中浮动.有些使用率较低,有些使用量较大,有些则无用.我们想要做的是将这些数据库集中到托管数据库,并尽可能多地保留其中的报告和表单.
这样做的好处是可以进行某种使用跟踪,并且还可以更加关注存储在这些应用程序中的一些重要的分散数据.
RDBMS(Oracle,MS SQL服务器)或它运行的堆栈(LAMP,ASP.net,Java)没有真正的限制,显然不会有这样的灵丹妙药.我们想要一些可以自动删除最初的咕噜声工作的东西.