私は学校で 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