|
31 Кб. |
|
| Помогите, пожалуйста.
Как можно делать импорт данных из файлов Excel таблиц во временную таблицу Access-а и показывать эти данные на форме | |
|
| |
|
|
|
| запросом тут просто так не вытащишь
надо код писать | |
|
| |
|
|
|
|
SELECT Mid(T1.F1,8) AS Заявка, T2.F1 AS Номер, T2.F2 AS Контейнер, T2.F3 AS Лот, T2.F4 AS Марка, T2.F5 AS Модель, T2.F6 AS Тип, T2.F7 AS ВремяРазгр, T2.F8 AS Коносамент, T2.F10 AS СудноРейс, T2.F13 AS ДатаРазгрузки
FROM [A13:A13] AS T1, [A22:M200] AS T2 IN 'C:\Заявка № К 13071 Optima.xls'[Excel 8.0;HDR=No]
WHERE (((T2.F1)>0));
|
Этот запрос вернет вам почти то, что вы хотите. Почти, потому что:
1. Значения из ячеек, объединяющих несколько строк, выводятся 1 раз;
2. Дату разгрузки надо вытягивать из текста примечания. Если это всегда 8 последних символов, то не сложно, а если нет?
Путь к файлу подставьте свой. | |
|
| |
|
|
|
| Огромное Вам спасибо.
Можно еще вопрос: а нельзя ли каким либо образом для T2.F3 проверять если поле пустое то подставлять из предыдущего? | |
|
| |
|
|
|
| Создайте модуль с этими функциями:
Function MyFunc1(Text, Mode)
Static PrevValue(1 To 3)
If Len(Text) > 0 Then PrevValue(Mode) = Text
MyFunc1 = PrevValue(Mode)
End Function
Function MyFunc2(Text)
Static PrevValue(1 To 2)
Dim strDate$
If Len(Text) > 0 Then
PrevValue(1) = Text
strDate = Right(Text, 8)
If IsDate(strDate) Then
PrevValue(2) = CDate(strDate)
Else
PrevValue(2) = Null
End If
End If
MyFunc2 = PrevValue(2)
End Function
|
А в запросе:
SELECT Mid(T1.F1,8) AS Заявка, T2.F1 AS Номер, T2.F2 AS Контейнер, MyFunc1(T2.F3,1) AS Лот, T2.F4 AS Марка, T2.F5 AS Модель, T2.F6 AS Тип, T2.F7 AS ВремяРазгр, MyFunc1(T2.F8,2) AS Коносамент, MyFunc1(T2.F10,3) AS СудноРейс, MyFunc2(T2.F13) AS ДатаРазгрузки
FROM...
|
| |
|
| |
|
21 Кб. |
|
| Спасибо получилось даже лучше чем ожидал
Помогите еще в одном вот нашел http://hiprog.com/index.php?option=com_content&task=view&id=468&Itemid=35
для подстановки в путь запроса, но разобраться как сделать чтобы заработало не смог.
Хотел сделать поле в котором отображалось бы имя и путь файла и кнопку с диалогом открытия для поиска того самого файла.
А еще набрёл на пример но сделать чтобы показывало файлы с другими расширениями не сумел
Заранее спасибо | |
|
| |
|
|
|
| Помогите пожалуйста
Возникла следующая проблема
SELECT .......
FROM [A13:A13] AS T1, [A22:M200] AS T2 IN 'C:\Заявка № К 13071 Optima.xls'[Excel 8.0;HDR=No]
............
|
Подскажите как сделать из [A22:M200] вот что - [A22:B200; D22:M200], а то с одними заявками все было хорошо, но как всегда есть но, попалась. Вернее существует видов пять, четыре вроде победил а в этой столбец лишний | |
|
| |
|
|
|
| вот вот
про что я вам и говорил
что код надо написать
мое МЫШЬление работает так
скидать все файлы в одну папку
запустить цикл перебора файлов
подключаться к каждому файлу
определять границы диапазона
затягивать инфу в базу
по окончании удалить все файлы из папки
а запрос можно переписать
Currentdb.querydefs("Имя запроса").sql="Select........from......" | |
|
| |
|
8 Кб. |
|
|
а запрос можно переписать
|
Конечно можно.
В принципе я знаю что: 1 заявка имеет границы A22:F500 и I22:I500 и L22:L500
2 заявка имеет те же границы
а вот 3 заявка - границы A22:B500 и D22:G500 и J22:J500 и M22:M500
Все остальные данные лишние, смысла их гонять с места на место нет. | |
|
| |
|
12 Кб. |
|
| Мне нужно Ваше МЫШЬление:
Есть папка с файлами: grid.xls, grid (1).xls, grid (2).xls, ... grid (n).xls
Помогите сделать цикл перебора файлов
подключаться к каждому файлу
определять границы диапазона
затягивать инфу в базу
по окончании удалить все файлы из папки
|
| |
|
| |
|
|
|
| Так, как вы хотите - нельзя. А цель, всего-то, исключить столбец C.
При формировании текста запроса указывайте весь диапазон, а при перечислении имен полей в одном случае указываете F3, а в другом - F4. Также и другие поля. | |
|
| |