Помогите (импорт из Ёкселя)

krapt
Дата: 16.09.2005 01:26:27
Имеется таблица в Excel c столбцами "Дата1, Дата2 и т.д." и строками "Товар1, Товар2 и т.д.". Значение указывается 1 или О (наличие товара, есть или нет). При "ручном" импорте в аксе создается таблица с полями (Ключ, Поле1, Дата1, Дата2 и ДатаN) если при импорте указывать, что "Первая строка содержит заголовки столбцов". Как на основании этой таблицы сделать нормальную таблицу в аксе с полями: ключ, дата, наименование товара, значение. Насколько я понимаю здесь одной таблицой не обойтись, товар надо выносить в другую таблицу... Извините за сумбурность изложения...Заранее благодарен
Alexander G
Дата: 16.09.2005 02:08:08
И как выглядят эти Дата1, Дата2 реально после импорта?
А то там геммророй будет с форматированием даты.
krapt
Дата: 16.09.2005 09:37:26
Alexander G
И как выглядят эти Дата1, Дата2 реально после импорта?
А то там геммророй будет с форматированием даты.


Если использовать фишку "Первая строка содержит заголовки столбцов" при иморте, то получается самое интересное, даты становятся именами полей, т.е. получается таблица с полями: ключ, поле1, 01.02.2005, 02.02.2005 и т.д. Если не использовать, то поля можно как угодно обозвать (а даты сохраняются в нормальной форме, например 21.02.2005).
Alexander G
Дата: 16.09.2005 10:07:08
Что-то не то.
Имя поля не может быть с точками.
A97 при импорте дал имена полей Поле1, Поле2 и т.д.
A2000 и выше 01012004, 15012004
Так какие получаются при импорте?
krapt
Дата: 16.09.2005 10:40:50
Alexander G
Что-то не то.
Имя поля не может быть с точками.
A97 при импорте дал имена полей Поле1, Поле2 и т.д.
A2000 и выше 01012004, 15012004
Так какие получаются при импорте?


Да извините ошибся, поля идут без точек 01012004 и т.д.
Alexander G
Дата: 16.09.2005 14:21:31
Тогда завтра или послезавтра (если никто не захочет ответить раньше), а то пятница , у меня время к полуночи, уже принято на грудь и т.п., состояниие мало стимулирующее к написанию кода :)
krapt
Дата: 16.09.2005 15:33:18
Alexander G
Тогда завтра или послезавтра (если никто не захочет ответить раньше), а то пятница , у меня время к полуночи, уже принято на грудь и т.п., состояниие мало стимулирующее к написанию кода :)


Спасибо за помощь, буду ждать.
Alexander G
Дата: 18.09.2005 12:40:18
Импортируем екселовскую табличку. Пусть она, примеру, называется Лист3.
Переименуем поле с названием товара в Товар. В ней получаются поля Код, Товар, 01022005,15022005, и т.д. с датами

Создадим табличку Table1 с полями:
Код - счетчик
Товар - текст
Дата - дата/время
Наличие - логическое

запускаем процедурку



Public Sub lalala()
Dim rst As New ADODB.Recordset
Dim i As Integer
Dim strSql As String

With rst
.Open "Лист3", CurrentProject.Connection
.MoveFirst
Do While Not .EOF
    For i = 2 To .Fields.Count - 1
      strSql = "Insert into table1(Товар,Дата,Наличие) values " & _
             "('" & !Товар & "',#" & Format(Format(.Fields(i).Name, "@@.@@.@@@@"), "mm\/dd\/yyyy") & _
             "#," & .Fields(i) & ")"
      CurrentProject.Connection.Execute strSql
    Next
    rst.MoveNext
Loop
End With
Set rst = Nothing
End Sub
krapt
Дата: 18.09.2005 12:43:13
Огромное спасибо:)
krapt
Дата: 20.09.2005 11:34:29
Что то ругается на CurrentProject.Connection.Execute strSql
???