我试图在VBscript中创建二维数组,但是我不知道数组的大小,所以我将变量放入其中,但是这段代码没有编译:
Dim countA: countA = 1
Dim countB: countB = 1
Dim countArray(countA, countB)
使用该代码的经典ASp页面不会编译,而
Dim countArray(1, 1)
效果很好。
我还能用变量来实现一个二维数组吗?
基本上,我正在编写一个.asp文件来创建一个由数组中的字符串组成的HTML。
我需要数组是动态的,这样我就可以从文本文件中向数组中添加任意数量的字符串。我在创建动态数组时遇到了问题。
到目前为止,我尝试的是:
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.OpenTextFile("c:\inetasp\test.txt",1)
dim row
do Until f.AtEndOfStream = true
f.Skipline
loop
row=CInt(f.L
如何在asp经典中不使用维度来声明数组?我想要的是显示recordset并将其保存在数组中。
<tr>
<td>Call Type</td>
<%
dim agentWithCallType( )
agentWithCallTypeCtr=0
if not RsAgentEffectivenessPerCallType.eof then
do while not RsAgentEffectivenessPerCallType.eof
%>
<td><% =RsAgentEffectiven
我最近继承了一个用ASP写的网站,这个网站我并不熟悉。昨天,其中一个页面开始抛出错误:
Microsoft VBScript runtime error '800a0009'
Subscript out of range: 'i'
default.asp, line 19
下面是13-27行的代码:
<%
set rs = Server.CreateObject("ADODB.Recordset")
rs.open "SELECT * FROM VENDORS_LIST_TBL WHERE inStr('"&am
我已经尝试了所有其他相关主题的可用帮助,但没有解决这个问题,代码如下
VB6 (DLL代码):
Public Function enterorder(vals() As Variant, ordhdr() As Variant) As String
................... code ............
enterorder = "done"
End Function
ASP:
SET objdll = server.createobject("dllproname.classname")
Dim values(1, 4)
Dim ordh
我试图在经典ASP中使用Server的结果填充HighCharts数据集,但似乎无法正确地降低语法。这是一个非常基本的开始,我的定制,我认为得到的数据集渲染,一切都很容易从那里。
下面的循环工作正常,并正确地从我的sproc抓取数据。我认为我的问题是在实际的data[]部分的var options =部分
dim xAxisData()
dim yAxisData()
j = 0
adoRsGraph.MoveFirst
if adoRsGraph.EOF = false then
Do Until adoRsGraph.EOF
我有这段代码来获取所有的文件类型。然后,如果它的扩展名在数组中,则应该将其存储在excludedFile数组中,并在执行后显示。
Dim excludedFile() as String
Const exts = _
".ade.adp.app.asp.bas.bat.cer.chm.cmd.com.cpl.crt.csh.der.exe.fxp.gadget" & _
".hlp.hta.inf.ins.isp.its.js.jse.ksh.lnk.mad.maf.mag.mam.maq.mar.mas.mat"
Dim file As Va
我继承了一个ASP项目,我是一个没有ASP知识的PHP程序员。对不起,如果这篇文章太长了,我只想尽可能多地提供一些信息。
我在为这一段代码而挣扎。
Dim resultArray As String()
For Each resultitem In resultArray
' Do something with each element of the array
hash.Add(dllFunctionObj.ReturnTemplateField(i), resultitem)
i = i + 1
Next
错误:
Exception!!: Index was
我使用PDFsharp项目将许多pdf文档合并到一个文件中,这个文件工作得非常完美和流畅。但是我也需要从典型的ASP服务器页面调用这个方法。
同样有效,但奇怪的是通过调用该方法来处理param值。
C#定义:
public void MergeMultiplePDF(object[] files, string outFile)
{
// note: get an array from vbscript, so files need to be a object array, not string array.
// Open the output document
PdfDoc
当我试图在我的“班次”类中创建一个新成员时,我遇到了一个错误。该子项用于填充以下变量(在类的顶部声明):
Private ShiftMembers() As String
Private ShiftCallSigns() As String
Private ShiftAssignments() As String
Private ShiftStatuses() As String
Public Sub AddMember(ByVal Name As String, ByVal CallSign As String, ByVal Assignment As String, Optional B
因此,我有一个数据结构的东西是相当开放的,以存储的数据量结束。数据通过一系列结构存储。下面是我使用的结构和变量:
Dim CurrentRec As Year
Structure Year
Dim Months() As Month
End Structure
Structure Month
Dim Dayz() As Days
Dim MiscExpend(,) As String
End Structure
Structure Days
Dim Incomes(,) As String
Dim Expenditures(,) As String
我在dreamweaver中创建了以下记录集,它查找所有具有以下cat_id的机器
<%
Dim rsTest
Dim rsTest_cmd
Dim Test_numRows
Set Test_cmd = Server.CreateObject ("ADODB.Command")
Test_cmd.ActiveConnection = MM_test_STRING
Test_cmd.CommandText = "SELECT * FROM machinery WHERE main_site='yes' AND(Cat_id=13 OR
我正在工作的经典ASP组织图的东西在工作。问题是我得到了一个“超出范围的子脚本:‘objRS(.)’”错误。如果全名数组的index_one等于部门数组的index_one中的公司,而全名数组的index_two等于部门的index_two,那么理论上这应该意味着用户在部门中,所以我会回显这个名称。
我有以下代码
'Define the AD OU that contains our users
dim ADUser, department, fullname, index_one, index_two, index_three
fullname = Arra
我想要定义一个数组变量,根据搜索返回的结果的m个,有一个可变的元素数。我在以下方面得到一个错误“常量表达式必需”:
Dim cmodels(0 To m) As String
这是我的完整代码
Dim foundRange As Range
Dim rangeToSearch As Range
Set rangeToSearch = Selection
Set foundRange = rangeToSearch.Find(What:="Lights", After:=ActiveCell,
LookIn:=xlValues, LookAt:= _
xl
我在Excel中创建一个二维动态数组。我可以找到的大多数代码示例如下所示:
Dim companyArray() As Variant
Dim height, width As Integer
width = 2
height = WorksheetFunction.CountA(Worksheets(1).Columns(1))
ReDim companyArray(height, width)
在获得了height变量的值之后,我不想声明数组,这有什么原因吗?如果可能的话,我不想避免使用ReDim吗?
好的,我在使用ReDim数组时遇到了问题;有人告诉我这就是解决这个问题的方法。我只是不确定应该把它放在哪里,或者必须添加到函数的第一个Integer ((n,n))中。仅供参考,"Dim PropArray(0,5) As String“位于代码的最顶部,其中"Option Compare Database”是。
Dim PropArray(0, 5) As String
Public Function ShowBeam()
For Each ctl In [Forms]![frmShelfBuilder]
If Left(ctl.Name, 3) = "B
索引超出了数组的界限。
每次我尝试记录数据,例如,两个农场和一个公牛,我会得到这个错误.我认为这可能与ReDim有关。
每当有更多的农场,那么就有公牛,我有这个错误.然而,如果它是一个农场,它可以带走同样多的公牛。
Private Farm() As FarmInfo
Private Farms, Bulls, Weekends As Integer
Private Structure FarmInfo
Public FarmName As String
Public FarmSize As Double
Public
我正在处理一个VB Windows窗体,这里我有一个关于初始化数组(友元变量)的问题。
我有一个BookInfo类,如下所示:
Public Class BookInfoForm
Friend _books() As BookInfo
...
EndClass
在我的主表单中,我希望将这个_books数组初始化为大小为4。
我尝试过的是:
_bookInfoForm._books(4) = New BookInfo
但是这没有起作用,它抛出了一个异常
Object reference not set to an instance of an object.
我想知道如何才能将数组初始化
这是使用VBScript的asp经典,不,它不会移动到.net的任何东西,所以不要问。
好的,从数据库中获取数据的经典方法是使用GetRows:
Dim MyRecords
Dim rs, conn
[...database opening stuff...]
If Not rs.EOF Then
MyRecords = rs.GetRows
End If
[...close database & set to Nothing...]
请注意,MyRecords并不是作为一个数组变暗的;它只在GetRows调用之后变成一个数组。
我的问题是,我如何在不使用GetRows的情况下
我正在尝试创建一个动态数组,在循环中添加单元。每次尝试redim并添加一个单元时,我都会得到以下错误:
下标超出范围
我的代码:
dim arr()
strSql = "SELECT item from dupEmail"
Set rs = CurrentDb.OpenRecordset(strSql)
rs.MoveFirst
ReDim arr(0)
Do While Not rs.EOF
arr(UBound(arr, 1)) = rs.Fields(0)
ReDim Preserve arr(1, UBou
这里是新的,一般的VBA和编程都是新的。
我正在尝试重用多个数组(通过一个循环),但我假设在重用它们之前我需要清除它们?我试着搜索这些问题,但我找不到解决办法,或者坦率地说,如果它们有效的话,我就无法理解这些解决方案。
Dim WS As Worksheet
For Each WS In Worksheets
If Right(WS.Name, 4) = "Data" Then Comp = Comp + 1
Next WS
Dim CompArray(10, 50) As Variant
Dim RatesArray(10, 1 To 50) As Variant
我正在尝试将一个值添加到一个动态数组中,但是一直得到一个运行时错误。我找到了一些不同的来源,说这应该是答案,所以我不知道我做错了什么……
Sub addtoarray()
Dim catSheets() As String
ReDim Preserve catSheets(UBound(catSheets) + 1)
catSheets(UBound(catSheets)) = "Chemicals"
End Sub
Dim n As Integers
Public AAA() As Integer
Public QQQ() As String
Sub Initialise()
n = 0
End Sub
Sub WrongAnswer(oShape As Shape)
A = oShape.TextEffect.Text
SendWrongAnswer
End Sub
Sub SendWrongAnswer()
ReDim QQQ(500)
QQQ(n) = Q
ReDim AAA(500)
AAA(n) = A
n = (n) + 1
End Sub
当我制作数组AAA()和QQQ()并将数据
我有一个三维数组。我想从Excel中的几个模块访问这个数组。出于这个原因,我使用Public来声明它。目前,我使用以下代码:
Public MyData(1 To 400, 1 To 10, 1 To 3000) As Double
我希望在启动代码时,根据数据的大小,在一定值下初始化第一个和第三个变量。
由于ReDim只能用于数组中的最后一个变量,所以我尝试这样做,尽管这是不可能的:
If x < 400 and z < 3000 Then
Public MyData(1 To 400, 1 To 10, 1 To 3000) As Double
End If
我有这样的密码。
Dim sums() As Single
dim n as integer
For n = 0 To ActiveCell.Value - 2
sums(n) = Abs(Application.WorksheetFunction.SumIf(Range(Cells(i + m, 6), Cells(j - 1, 6)), Range("F" & i + m).Value, Range(Cells(i + m, 17), Cells(j - 1, 17))))
Next n
我收到了sums(n)= ....的错误消息,我想按照公式填充数组中的
我真的很感谢在这件事上能得到的任何帮助。
我试图遍历一个列,寻找重复的名称,然后从同一行中获取该列和其他几个数据,并将它们放入一个二维数组中,我想使用另一个函数,但它不起作用。
我真的需要你的帮助来弄清楚为什么我不能在不保留数据的情况下重定向这个数组。
Dim oRange As Range, aCell As Range, bCell As Range
Dim ws As Worksheet
Dim SearchString As String, FoundAt As String
Dim tArray() As Variant
Dim iR As Long
Dim LastRow As L
我不知道如何创建一个动态多维数组。目前,我已经将我的数组声明为Dim fArr(0 To 4, 0 To 9)。它在一个维度中总是(0到4),而其他维度(0-9)总是可变的,那么我该如何做呢?
我像下面的例子一样填充数组
Select Case fTyp
Case Is = "A"
fArr(0, aRow) = j
Case Is = "B"
fArr(1, aRow) = j
Case Is = "C"
我想做什么
我想要一个循环,如果它不适合他的存储位置的产品存储位置移除。在这个循环中,我希望将artikelDetail_ID保存在数组中。循环结束后,我希望能够看到所有在循环期间被删除并放入数组中的artikelDetail_ID。
当代码运行时,它将删除6条记录。
我的解决方案
Dim verwijderdeID() As Variant
Dim lengte As Integer
lengte = 0
With recordset_opslag_detail_info
Do Until recordset_opslag_detail_info.EOF
If (hu