指数是数组的范围
答
这意味着,你RichTextBox1
中有没有线。替换与:
Dim placename As String
If RichTextBox1.Lines.Count() > 0 Then
placename=RichTextBox1.Lines(0)
Else
placename = String.Empty
End if
更多信息:
想象数组作为街道和阵列中的每个元素是一个房子。如果街上有30间房屋,我想找20号房屋,那么我从开始(1)开始,直到达到20为止。对于一个数组,0是从哪里开始而不是1,所以一个数组有30个元素,包含索引0-29。现在回到街头比喻。想象一下,我走上街头,要求房子号码31.这栋房子不存在,因为只有30间房屋。这实际上是该计划告诉你的。它是说'阵列中没有足够的元素让我找到你要求的元素'。所以你问了行数组中的元素0,有效地说'给我第一行'。现在,如果文本框中有0行,那么第一行不存在,您将得到此错误。
答
指数数组
该错误消息的边界之外通常意味着你已经呼吁在那个为空,或者有什么也没有的位置数组中的对象。它发生在如下的情况下。
myArray = [0,1,2,3];
trace(myArray[6]);
由于在索引6处数组中没有任何内容,所以它在边界之外。如果在调用时该阵列为空,它将给出索引为0的对象的错误。
我无法通过您发布的代码量来告诉任何更多。尝试检查以确保在调用该行之前已经填充了该数组。
答
也许你的SQL读取器没有得到任何与你给出的索引相关的行。对我来说就是这样。我收到了不在数据库中的列。
如下你可以改变你的代码:
Dim placename As String
If RichTextBox1.Lines.Count > 0 Then placename = RichTextBox1.Lines(0)
答
子ambil_kode_barang() 昏暗contoh的String = TRIM(tnama.Text)
Dim myc, myc2, myc3, myc4 As Char
Dim x, x2, x3 As Byte
Dim xdaerah, xdaerah2, xdaerah3, hasil As String
Dim s As Integer
myc = contoh.Chars(0)'zero this error can you help me.?
s = Len(contoh) - Len(Replace(contoh, " ", ""))
x = InStr(contoh, " ")
xdaerah = Microsoft.VisualBasic.Mid(tnama.Text, x + 1, Len(tnama.Text) - x)
myc2 = xdaerah.Chars(0)
x2 = InStr(Trim(xdaerah), " ")
xdaerah2 = Microsoft.VisualBasic.Mid(xdaerah, x2 + 1, Len(xdaerah) - x2)
myc3 = xdaerah2.Chars(0)
x3 = InStr(Trim(xdaerah2), " ")
xdaerah3 = Microsoft.VisualBasic.Mid(xdaerah2, x3 + 1, Len(xdaerah2) - x3)
myc4 = xdaerah3.Chars(0)
If s = 0 Then
hasil = Strings.Left(contoh, 2)
ElseIf s = 1 Then
hasil = myc + myc2
ElseIf s >= 2 Then
hasil = myc + myc2
Else
hasil = myc + myc2
End If
ambil_kode = Trim(hasil.ToUpper)
End Sub
你应该多增加一些细节,而不仅仅是粘贴一些代码。您的解决方案如何以及为何解决问题? 并请格式化您的代码。 – hering 2017-08-28 13:51:28