2014-09-30 2 views
0

Мне нужна помощь. Я пытаюсь создать таблицу Access, которую я хочу отсортировать на основе даты/времени. Я экспортирую эти данные с листа Excel. Дата находится в одной ячейке, но время находится в столбце. Столами в таблице доступа являются дата, время, бак и комментарии. Я хочу, чтобы столбец «Дата» выглядел как «mm/dd/yy hhmm». При экспорте Date я хочу включить Time в каждый цикл цикла. Часть фрагмента кода будет выглядеть так: .Fields("Date") = Range("B" & d "and "A" & r").Value, где «A» & r - это столбец времени, где r - номер строки, как я могу запрограммировать это? Благодарю.Объедините два столбца в Excel и экспортируйте в Access как один столбец с помощью VBA

Sub ExportU1() 

    Sheets("Plant 1 WP Day").Select 
    Dim cn As ADODB.Connection, rs As ADODB.Recordset, d, r As Long 
     ' connect to the Access database 
     Set cn = New ADODB.Connection 
     cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _ 
      "Data Source=U:\Night Sup\Production Report 2003 New Ver 5-28-10_KA.mdb;" 
     ' open a recordset 

     Set rs = New ADODB.Recordset 
     rs.Open "UnitOneRouting", cn, adOpenKeyset, adLockOptimistic, adCmdTable 

     d = 2 'row location of date 
     r = 13 ' the start of Time, Tank and Comments row in the worksheet 
     Do While Len(Range("A" & r).Formula) > 0 
     ' repeat until first empty cell in column A 
      With rs 
       .AddNew ' create a new record 
       ' add values to each field in the record 
       .Fields("Date") = Range("B" & d).Value 
       .Fields("Time") = Range("A" & r).Value 
       .Fields("Tank") = Range("C" & r).Value 
       .Fields("Comments") = Range("D" & r).Value 
       .Update ' stores the new record 
      End With 
      r = r + 1 ' next row 
     Loop 
     rs.Close 
     Set rs = Nothing 
     cn.Close 
     Set cn = Nothing 
    End Sub 

ответ

1

Вы пробовали конкатенацию, как показано ниже?

.Fields("Date") = Range("B" & d).Value & " " & Range("A" & r).Value 
+0

Ohh yess! Спасибо. Это работает. – Kish