Как сохранить Datetime в переменную в VBA для сохранения в базе данных Excel - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть отметка даты и времени, полученная из текстового поля (Named: DateTime), которую я хочу сохранить в своей базе данных Excel.

DateTime Stamp on Textbox

Я исследовал онлайн и на этом сайте безрезультатно. Один из ответов здесь говорит, что мне нужно сначала проанализировать DateTime, прежде чем сохранить его в переменной. Поэтому я последовал предложению.

    Dim I1 As Variant
    Dim ConvertDate As Date

    I1 = Split(DateTime, Space(1))
    ConvertDate = DateValue(I1(4) & Space(1) & I1(1) & ", " & I1(2)) + TimeValue(I1(3))

Я использовал приведенный выше код, но из-за ошибки «Подстрочный индекс выходит из диапазона». Когда я нахожусь в каждом I1, I1 (4) говорит: «I1 (4) =. Он не читает Месяц. I1 (1) говорит день, I1 (2) Год, а I1 (3) время .

Это лучший способ сохранения DateTime в качестве переменной? Какую ошибку я допустил?

1 Ответ

0 голосов
/ 19 февраля 2020

Вероятно, есть много способов сделать это. Я предлагаю этот метод:

Sub test()
  Dim sDate As String
  Dim dt As Date

  sDate = "February 18, 2020 20:53:11"

  If IsDate(sDate) Then

    ' convert this format (mmmm d, yyyy hh:mm:ss) into an actual date variable
    dt = CDate(sDate)

    ' display it for debug purposes
    MsgBox dt

    ' store it into access (not part of your question despite your title)

  Else
    MsgBox sDate & " is not a valid date.", vbCritical
  End If

End Sub

Он будет работать в вашем конкретном случае c как минимум.

...