我在学校学习了C#和VB.Net,但没有学习VBA。使用字符串数组在VBA中“下标超出范围”错误
我想在Access中自动化管道分隔的.csv导出。用户从组合框中选择一个发货日期并点击“导出”,然后应用程序需要完成剩余的工作。问题是,无论我如何在Access中格式化它,它都以短日期格式(m/d/yyyy)导出日期;客户需要的格式是mmddyyyy。
我试着将日期追加到另一个表中的文本字段,但Access不会让我这样做。所以我在窗体上放置了一个文本框,并以正确的格式输入了日期,并使用它填充要导出的表格,并且工作正常。
我现在要做的是编写一个子程序,以便在用户更改组合框时以正确的格式填充文本框。我不断收到“运行时错误9:下标越界”以下线:If Len(dateParts(0)) = 2 Then
这里是我的代码至今:
Private Sub tbxShipDate_Change()
Dim strShipDate As String
Dim strTextDate As String
Dim dateParts() As String
strShipDate = Me.tbxShipDate.Value
If Len(strShipDate) = 10 Then
strTextDate = strShipDate
strTextDate = Replace(strTextDate, "/", "")
Else
dateParts = Split(strShipDate, "/")
'check month format
If Len(dateParts(0)) = 2 Then
strTextDate = dateParts(0)
Else
strTextDate = "0" & dateParts(0)
End If
'check day format
If Len(dateParts(1)) = 2 Then
strTextDate = strTextDate & dateParts(1)
Else
strTextDate = strTextDate & "0" & dateParts(1)
End If
'add year
strTextDate = strTextDate & dateParts(2)
End If
Me.tbxTextDate.Value = strTextDate
End Sub
您是否在模块的顶部设置了选项库1?你可以在该行设置一个断点,并检查当地人窗口,以了解dateParts()所持有的... – Marshall 2013-05-01 19:31:54