请求对一个小型VBScript项目提供帮助



我从一个朋友那里得到了一个accdb文件,里面有她为桌面RPG制作的咒语的信息(关于D&D的想法(。这个表上的一列被称为"类型",其中有多个条目,如黑暗、毒药、治疗等。

我对这个项目的目标如下:

  • 获取"类型"列中的唯一条目
  • 在"类型"列中计算每个类型重复的次数
  • 在消息框中显示数据,如下所示:

    深色=n毒药=n治疗=n

其中n =是该类型在"类型"列中重复的次数。

这是我迄今为止的代码:

Dim connStr, objConn, getTypes
connStr = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = Rachelle_TableTop_RPG_Spells_0.1.1.accdb"
Set objConn = CreateObject("ADODB.Connection")
objConn.Open connStr
Set rs = objConn.Execute("SELECT Distinct(Type) FROM Spells")
Do While Not rs.EOF
getTypes = getTypes + rs.Fields(0) & " = " & vbCrLf
rs.MoveNext
Loop
objConn.Close
Set rs = Nothing
Set objConn = Nothing
MsgBox getTypes

它显示了一个消息框,上面显示的是我的目标,但没有数字。

我希望得到帮助,弄清楚我应该使用什么查询等来达到我的目标。我不想找人为我重写代码。

如果脚本和数据库不在同一文件夹中,则连接字符串需要数据库的完整文件路径。为了获得与工作的联系,我必须遵循以下建议:https://rtmccormick.com/2014/06/05/provider-cannot-be-found-it-may-not-be-properly-installed/

我创建了一个快捷方式,并使用:
%windir%SysWoW64wscript.exe C:filepathfilename.vbs设置目标

请阅读其他内容:
"编辑cmd文件以运行32位进程
windir%\SysWoW64\cmd.exe/c c:\filepath\filename.vbs,而不仅仅是
c:\filepath\filename.vbs">
没有跟进。

更改记录集的查询:

SELECT [Type], COUNT([Type]) AS CountType FROM Spells GROUP BY [Type]

类型在Access中具有特殊含义。使用保留字作为名称可能会引起问题。将字段名括在[]中,或者不要使用保留字作为任何内容的名称。

在循环中连接以构建字符串:

getTypes = getTypes & rs.Fields(0) & " is repeated " & rs.Fields(1) & " times" & vbCrLf

最新更新