我在學校學習了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