|
|
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Мне нужно сделать вот какую штуку: Выбрать записи из таблицы Профессии, у которых [Профессия]= xlwProd.Worksheets(1).Cells("B4").Value и [№ ЕТКС]= xlwProd.Worksheets(1).Cells("B6") (результат, наверное, надо будет присвоить recordset через DAO), ну и дальше позаполнять графы Оценка1, Оценка2, Оценка3 из соответствующих ячеек экселевского файла и сохранить изменения таблице. Подскажите как получить нужные записи в рекордсете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 15:35:31 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Если в экселевском файле не слишком много нерегулярностей, то удастся прилинковаться к нему и работать как с таблицей Аксесса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:00:13 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Владимир СанычЕсли в экселевском файле не слишком много нерегулярностей, то удастся прилинковаться к нему и работать как с таблицей Аксесса. Что значит не слишком много нерегулярностей, и как можно прилинковаться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:06:26 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
zrumchikЧто значит не слишком много нерегулярностей, и как можно прилинковаться? Прилинковаться - через правый клик в списке таблиц. Но проблема в том, что Эксель - не база данных. У него нет типов полей. Аксесс сам распознаёт типы полей в экселевском файле на основании данных. Но если где-нибудь в колонке, которая по идее содержит числа, юзеры понарисовали всяких нечисловых символов, то эта колонка уже не будет распознана как числовое поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:12:08 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Владимир СанычПрилинковаться - через правый клик в списке таблиц. Но проблема в том, что Эксель - не база данных. У него нет типов полей. Аксесс сам распознаёт типы полей в экселевском файле на основании данных. Но если где-нибудь в колонке, которая по идее содержит числа, юзеры понарисовали всяких нечисловых символов, то эта колонка уже не будет распознана как числовое поле. C типом данных всё будет нормально. Мне главное получить нужный набор записей рекордсете, а как это как сделать - не знаю. Ведь при содании SQL запроса нельзя ссылаться на ячейки рабочей книги экселя, или можно? Плюс ко всему в другом случае параметры отбора записей находятся на разных страницах, так что как прилинковаться к целой книге, а не к листу я вообще не понимаю. Да и что такое "прилинковаться" я тоже не сильно понял. Саныч, расскажи поподробней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:20:04 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Я имел в виду создать прилинкованную таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:28:08 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Саныч, так там структура таблицы корявая, и из-а этого будут проблемы с типом данных: в одном столбце там находится и числа, и текст, и данные, и заголовки... хотя это лучше чем ничего. Придётся потом бегать по записям, писать кучу запросиков, чтобы выцепить нужную ячейку в таблице. Есть ещё вопросы: как сделать всё тот же запрос на отборку записей из таблицы Профессия, где в качестве параметров будут данные прилинкованных таблиц. А можно ли содавать прилинкоавнные таблицы программно, вставив в форму аналог стандартной виндовской кнопки "Обзор..."? И кроме прилинкованных таблиц нет другого метода провернуть эту штуку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:53:08 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Создал прилинкованную табличку. Попез! На тех местах, где встречаются цифры в текстовых полях он пишет #Число! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:55:44 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Подстрогай руками свою табличку или OLE-оле-олеоле:-) в смысле Excel.Application ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:59:23 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Думаю сделать так: данные из экселевских файлов добавлю в какую-нибудь временную таблицу. Потом обновлю нужную таблицу с помощью данных из временной, и сотру временную. Осталось написать запрос на обновление, который бы делал вот что: Брал первую запись таблицы Временная, фиксировал там значение столбца "Выполняемая работа" - параметр А , выбирал все записи из таблицы Обновляемая с условием Выполняемая работа = А и переносил данные из первой записи таблицы Временная (столбцы Оценка1, Оценка2, Оценка3) в выбранные записи таблицы Обновляемая (столбцы Оценка1, Оценка2, Оценка3). Затем надо перейти ко второй записи таблицы Временная и повторить всю эту хню, и так до конца таблицы Временная. Как будет выглядеть SQL запрос, делающий это?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 17:21:05 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
SharkПодстрогай руками свою табличку или OLE-оле-олеоле:-) в смысле Excel.Application Таких таблиц тут дофига, и каждую ручками обрабатывать... Хочется чтобы всё это делалось программно и надо было только указать имя файлика, данные которого нужно импортировать. А как сделать через Excel.Application? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 17:24:42 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 17:31:07 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Витал Код: plaintext 1. 2. 3. 4. А если несколько параметров, т.е. Профессия = А4 и Организация = В5 ? Куда в такой конструкции присобачить and? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 17:38:10 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Set rs = CurrenDB.Openrecordset("Select * from Table1 Where [Профессия]= " & wbk.WorkSheets("Отчет").Range("A4").Value & " And [Организация ]= " & wbk.WorkSheets("Отчет").Range("В5").Value) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 17:46:47 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Спасибо Витал, спасибо Саныч! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 17:52:49 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Как вставить в форму кнопку "Обзор" (Browse), что бы вручную выбирать открываемый файл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2004, 11:36:08 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
1 написать "обзор" можно на любой кнопке 2 специальной кнопки обзор(целевой) не существует 3 код подкладываемый под любую кнопку с надписью "обзор" зависит от версии Access - 2000/2002/2003 - делать легче(для mdb прототип выглядет вот так)+ поищи по конфе по слову FileDialog Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2004, 12:24:57 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Shuhard1 написать "обзор" можно на любой кнопке 2 специальной кнопки обзор(целевой) не существует 3 код подкладываемый под любую кнопку с надписью "обзор" зависит от версии Access - 2000/2002/2003 - делать легче(для mdb прототип выглядет вот так)+ поищи по конфе по слову FileDialog Спасибо за код и за то, что понял мой вопрос. =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2004, 13:03:31 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Ну я совсем чайник, подскажите что делать. ошибка type mismatch на такой строке: rs.Fields(0) = xlwProd.Worksheets(1).Cells("B4") в экселевском файле на этом месте написано "Кузнец". Пробовал поменять строку на rs.Fields(0)= "Кузнец" - всё работает. А тут чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2004, 15:10:52 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
rs.Fields(0) = xlwProd.Worksheets(1).Cells(2,4) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2004, 15:23:49 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
в примерах тебе писали Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2004, 15:25:20 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Ещё раз спасибо за помощь и терпение! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2004, 15:43:53 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
Сейчас просто взвою волком. ДАнные читать стал, а цикл вовремя остановить не хочет! Пишу: Код: plaintext 1. 2. 3. 4. Как можно эту штуку заставить остановиться? Т.е. как определить, что ячейка, к которой он обращается пустая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2004, 16:29:02 |
|
||
|
Обновление таблицы при импорте из Excel
|
|||
|---|---|---|---|
|
#18+
http://www.sql.ru/faq/faq_topic.aspx?fid=213 вопрос 19, ответ 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2004, 16:42:43 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32609337&tid=1673086]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 354ms |

| 0 / 0 |
