我在学校学过 C# 和 VB.Net,但没有学过 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