|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Я только начинаю делать программу и нужна ваша помощь. Идея заключается в том, чтобы из файла Exclel с уже заполненными данными вытащить только определенные столбцы и записать их в таблицу Access. И после этого отобразить данные в таблице DataGrid или MSFlexGrid. Помогите, кто может. Буду рад любой помощи. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2010, 21:02 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
и тогда уж Идея заключается в том, чтобы из файла Ворд, а далее всё тоже самое ?????????? Буду рад любой помощи ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2010, 21:06 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Ципихович Эндрю, Хорошо, объясню по другому. Есть файл Excel. В нем есть столбцы и строки заполненные данными. Нужно, чтобы программа "вытащила" все данные (либо по условию), допустим из столбца "B" и вставила в 1 столбец таблицы Access. Потом этот столбец с данными из Access отобразился в 1 столбце таблицы DataGrid или MSFlexGrid. Вот. Если нужно будет могу еще подробнее написать)) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2010, 21:16 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Bobax012, Вы зря ко мне обращаетесь, я также как и Вы не знаю, и к Вашему вопросу приконнектился, ОК?? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2010, 21:22 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
рз собеседников нет, тогда Потом этот столбец с данными из Access отобразился в 1 столбце таблицы DataGrid или MSFlexGrid. Вот. Если нужно будет могу еще подробнее написать)) Да нужно именно эту часть, что такое таблица DataGrid или MSFlexGrid ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2010, 21:28 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Ципихович Эндрю, ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2010, 21:38 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Bobax012, немножко прояснилось, просто если присутствует понятие Access, значит вероятно, скорее всего форма будет с прокруткой, да??? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2010, 21:41 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Ципихович Эндрю, Взаимную беседу следует вести так, чтобы каждый из собеседников извлек из нее пользу, приобретая больше знаний.(с) Вопрос остается открытым... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2010, 21:57 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Эндрю Я просил тебя не лезть в топики, в которых ты нихрена не понимаешь. По всей видимости придется пожаловаться модератору. Bobax012 Непонятно только одно, собственно среда выполнения. VB6? C SQL знакомы? с ADO знакомы? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2010, 23:30 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Ципихович ЭндрюBobax012, немножко прояснилось, просто если присутствует понятие Access, значит вероятно, скорее всего форма будет с прокруткой, да??? ....ууууу ... вот оно чоо , пойду отнесу этот "шедевр" в Акс ... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2010, 23:38 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Ципихович ЭндрюBobax012, немножко прояснилось, просто если присутствует понятие Access, значит вероятно, скорее всего форма будет с прокруткой, да??? Эндрю, это общеее заблуждение людей не работающих с Акс-формами ! главное и принципиальное отличие для форм, в которых "присутствует понятие Access" - они (формы) - зелёные !! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2010, 23:46 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Shocker.ProBobax012 Непонятно только одно, собственно среда выполнения. VB6? C SQL знакомы? с ADO знакомы? В принципе, чтобы понять, можно ли это сделать запросом - дайте образец файла. Не все данные можно корректно будет получить через ODBC. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2010, 00:49 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Shocker.ProShocker.ProBobax012 Непонятно только одно, собственно среда выполнения. VB6? C SQL знакомы? с ADO знакомы? В принципе, чтобы понять, можно ли это сделать запросом - дайте образец файла. Не все данные можно корректно будет получить через ODBC. Среда выполнения VB 6.0. С SQL и ADO немного знаком, но только азы. Если нужно будет, придется разбираться, деваться не куда)) Пример файла прикрепляю. Ниже форма VB 6. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2010, 13:06 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Bobax012, ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2010, 13:07 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Bobax012, посмотрите для начала 9847080 этот пример тут показано, как через SQL работать с таблицей экселя. Единственное - он там работает с текущей книгой ThisWorkbook, а вам требуется ее предварительно открыть. соответственно, с аксессовсой таблицей работать так же, как с любой БД, да и примеров тут полно. Как перекинете - можно будет уже думать об интерфейсах, сетках и т.п. Вообще, разбейте задачу на части и решайте по частям, а не все сразу ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2010, 13:36 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Shocker.ProBobax012, посмотрите для начала 9847080 этот пример тут показано, как через SQL работать с таблицей экселя. Единственное - он там работает с текущей книгой ThisWorkbook, а вам требуется ее предварительно открыть. соответственно, с аксессовсой таблицей работать так же, как с любой БД, да и примеров тут полно. Как перекинете - можно будет уже думать об интерфейсах, сетках и т.п. Вообще, разбейте задачу на части и решайте по частям, а не все сразу Мне нужно, чтобы пользователь не касался ни базы Access ни данных Excel (т.е. не проводил ни каких манипуляций, типа открыть Access, открыть Excel), он считал данные из Excel перекинул в Access и все. Если так не получается, то хотя бы пересохранить файл из Excel в текстовый формат с разделителем в виде табуляции. И считывать данные оттуда (но это, если не получается с Excel) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2010, 13:54 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Bobax012Мне нужно, чтобы пользователь не касался ни базы Access ни данных Excel (т.е. не проводил ни каких манипуляций, типа открыть Access, открыть Excel), он считал данные из Excel перекинул в Access и все. ... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2010, 18:43 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Bobax012[Мне нужно, чтобы пользователь не касался ни базы Access ни данных Excel (т.е. не проводил ни каких манипуляций, типа открыть Access, открыть Excel), он считал данные из Excel перекинул в Access и все. Если так не получается, то хотя бы пересохранить файл из Excel в текстовый формат с разделителем в виде табуляции. И считывать данные оттуда (но это, если не получается с Excel) Никто этого и не предлагает. Кстати, кверти предложил красивый вариант, как сделать это в один прием. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2010, 18:46 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
qwerty112Bobax012Мне нужно, чтобы пользователь не касался ни базы Access ни данных Excel (т.е. не проводил ни каких манипуляций, типа открыть Access, открыть Excel), он считал данные из Excel перекинул в Access и все. ... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Проверил, все работает. Спасибо ОГРОМНЕЙШЕЕ!!! Действительно, очень выручили. Теперь будем выводить данные в MSFlexGrid)) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2010, 23:07 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Решил проверить на ввод любых данных в столбцы, т.е. в поле, где вводят текст ввожу цифры. И тут заметил, что если в поле с текстом последним введено число, то отражаются только числовые значения, а, если текст, то соответственно текстовые. Как можно сделать, чтобы отражались все данные. Именно все данные. Т.к. в дальнейшем будут добавляться столбцы в которых будут добавляться любые дынные (текстовые, либо числовые). Может быть, это делается не программно, просто не правильно организовал таблицу Access? Всем столбцам присвоил тип "Текстовый". Подскажите, где ошибся. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2010, 23:32 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Bobax012, Это особенность работы ODBC-драйвера экселевских файлов. Он автоматически определяет тип считываемого столбца по нескольким первым значениям. Так что вам придется либо иметь однородные данные в столбце, либо менять принцип считывания данных из файла. А вообще - это ненормальных подход с точки зрения проектирования БД. Вариативные данные в столбце - это очень обоснованное исключение, а никак не правило. Так что попробуйте спроектировать сначала систему с однородными данными. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2010, 01:02 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Нашел другой способ в интернете: Dim excel_app As Object Dim excel_sheet As Object Dim max_row As Integer Dim max_col As Integer Dim row As Integer Dim col As Integer Dim conn As ADODB.Connection Dim statement As String Dim new_value As String Screen.MousePointer = vbHourglass DoEvents ' Создаём приложение Excel. Set excel_app = CreateObject("Excel.Application") ' Если хотите, чтобы Excel был видимым, то раскомментируйте следующую строку. ' excel_app.Visible = True ' Открываем таблицу Excel. excel_app.Workbooks.Open FileName:=txtExcelFile.Text ' Проверяем версию. If Val(excel_app.Application.Version) >= 8 Then Set excel_sheet = excel_app.ActiveSheet Else Set excel_sheet = excel_app End If ' Узнаём строку и колонку, которые использовались последний раз. max_row = excel_sheet.UsedRange.Rows.Count max_col = excel_sheet.UsedRange.Columns.Count ' Открываем базу данных Access. Set conn = New ADODB.Connection conn.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & txtAccessFile.Text & ";" & _ "Persist Security Info=False" conn.Open ' Делаем цикл по строкам таблицы Excel, ' пропуская первую строку, которая содержит ' заголовки колонок. For row = 2 To max_row ' Составляем инструкцию INSERT. statement = "INSERT INTO Books VALUES (" For col = 1 To max_col If col > 1 Then statement = statement & "," new_value = Trim$(excel_sheet.Cells(row, _ col).Value) If IsNumeric(new_value) Then statement = statement & _ new_value Else statement = statement & _ "'" & _ new_value & _ "'" End If Next col statement = statement & ")" ' Выполняем инструкцию INSERT. conn.Execute statement, , adCmdText Next row ' Закрываем базу данных. conn.Close Set conn = Nothing ' Если хотите, чтобы Excel остался запущенным, закомментируйте строки ' Close и Quit. ' Закрываем Книгу, сохраняя изменения. excel_app.ActiveWorkbook.Close True excel_app.Quit Set excel_sheet = Nothing Set excel_app = Nothing Screen.MousePointer = vbDefault MsgBox "Copied " & Format$(max_row - 1) & " values." Но, в процессе выполнения выходит ошибка, и жалуется на строку conn.Execute statement, , adCmdText Либо просто виснет, так, что приходится через диспетчер завершать программу. Что можно с этим сделать, чтобы все работало нормально? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2010, 02:45 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
Bobax012, если в запросе, в описании файла Excel, вы поставите описание IMEX=1, то все данные будут восприниматься как текстовые Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2010, 08:25 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
если хотите писать из текущего файла (насколько я понял последний пост ТС), то способ через инсерт инто имеет один незначительный косячокс, символьный набор с которым Вы работаете ограничен, иначе говоря, если в тексте ячейки встретится зарезервированный символ (например выделение текстовой строки - апостроф или кавычки)- наступит маленький трындец. Можете попробовать. Нужно либо пользовать способ qwerty112, либо получать таблицу как рекордсет и через addnew и update дописывать туда, что Вам нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2010, 11:06 |
|
Как вытащить определенные данные из Excel и вставить их в таблицы Access
|
|||
---|---|---|---|
#18+
mds_worldBobax012, если в запросе, в описании файла Excel, вы поставите описание IMEX=1, то все данные будут восприниматься как текстовые Код: plaintext
Спасибо, помогло!!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2010, 19:30 |
|
|
start [/forum/moderation_log.php?user_name=vit9]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 1208ms |
total: | 1370ms |
0 / 0 |