|
|
|
Импорт данных из ячеек Excel в Access 97
|
|||
|---|---|---|---|
|
#18+
Добрый день, помогите пожалуйста решить вот какой вопрос: Есть Excel файл, в который вносят информация, хочу сделать что бы при нажатии на кнопку, информация из определенных ячеек, добавлялась в базу Acces 97 в определенные таблицы. Вот написал такой код, но не работает, может кто-то сможет скинуть рабочий пример реализации этой задачки? Пробовал тремя различными методами, не один не работает. Sub DAOFromExcelToAccess() ' exports data from the active worksheet to a table in an Access database ' this procedure must be edited before use Dim db As Database, lastrow As Long Set db = OpenDatabase("\\fslmk\DataBase.mdb") ilastrow = ActiveSheet.UsedRange.Rows.Count ' r = 3 ' the start row in the worksheet 'Do While Len(Range("A" & r).Formula) > 0 ' repeat until first empty cell in column A point_start = 3 For i = point_start To ilastrow db.Execute ("insert into Table(point,magnitude,metrics,value,user,[correction date],[input date],year,month) values(" & _ """" & Range("D" & i).Value & """," & _ """" & Range("E" & i).Value & """," & _ """" & Range("F" & i).Value & """," & _ """" & Range("H" & i).Value & """," & _ """" & Environ("username") & """," & _ "now()," & _ "now()," & _ Range("m" & 4).Value & "," & _ Range("m" & 6).Value & ")") Next Dim rs As Recordset, r As Long ' open the database If Environ("username") = "KuznetsovSL" Then Set db = OpenDatabase("\\fslmk\DataBase.mdb", False, False, "MS Access;PWD=""") Else Set db = OpenDatabase("\\fslmk\DataBase.mdb") End If Set rs = db.OpenRecordset("Table", dbOpenTable) ', dbAppendOnly) ' get all records in a table ilastrow = ActiveSheet.UsedRange.Rows.Count r = 3 ' the start row in the worksheet 'Do While Len(Range("A" & r).Formula) > 0 ' repeat until first empty cell in column A point_start = 3 For i = point_start To ilastrow With rs .AddNew ' create a new record ' add values to each field in the record .Fields("Point") = Range("D" & i).Value .Fields("Magnitude") = Range("e" & i).Value .Fields("Metrics") = Range("f" & i).Value .Fields("Value") = Range("h" & i).Value .Fields("User") = Environ("username") .Fields("Correction date") = CDate(Now()) .Fields("Input date") = CDate(Now()) .Fields("Year") = Range("m" & 4).Value .Fields("Month") = Range("m" & 6).Value ' add more fields if necessary... .Update ' stores the new record End With Next i 'r = r + 1 ' next row 'Loop rs.Close Set rs = Nothing db.Close Set db = Nothing End Sub Sub ADOFromExcelToAccess() ' exports data from the active worksheet to a table in an Access database ' this procedure must be edited before use Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long ' connect to the Access database Set cn = New ADODB.Connection cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _ "Data Source=\\fslmk\DataBase.mdb;" ' open a recordset Set rs = New ADODB.Recordset Dim ccn As String 'cn = Replace(CStr(cn), "Admin", "KuznetsovSL") rs.Open "table", cn, adOpenKeyset, adLockOptimistic, adCmdTable ' all records in a table r = 3 ' the start row in the worksheet point_start = 3 For i = point_start To ilastrow With rs .AddNew ' create a new record ' add values to each field in the record .Fields("Point") = Range("D" & i).Value .Fields("Magnitude") = Range("e" & i).Value .Fields("Metrics") = Range("f" & i).Value .Fields("Value") = Range("h" & i).Value .Fields("User") = Environ("username") .Fields("Correction date") = CDate(Now()) .Fields("Input date") = CDate(Now()) .Fields("Year") = Range("m" & 4).Value .Fields("Month") = Range("m" & 6).Value ' add more fields if necessary... .Update ' stores the new record End With Next i rs.Close Set rs = Nothing cn.Close Set cn = Nothing End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2012, 18:02 |
|
||
|
Импорт данных из ячеек Excel в Access 97
|
|||
|---|---|---|---|
|
#18+
Sergey.Kuznetsov... Вот написал такой код, но не работает, может кто-то сможет скинуть рабочий пример реализации этой задачки? Пробовал тремя различными методами, не один не работает. ... Код не смотрел. со стороны Акцесса импорт в таблицу из Экселя решал ч-з ADO. Было вот так: Код: vbnet 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. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2012, 18:34 |
|
||
|
Импорт данных из ячеек Excel в Access 97
|
|||
|---|---|---|---|
|
#18+
кладовщик, вот хороший и понятный пример действий с mdb из excel. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2012, 08:50 |
|
||
|
Импорт данных из ячеек Excel в Access 97
|
|||
|---|---|---|---|
|
#18+
еще ссылочка на msdn по теме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2012, 08:51 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=106&tid=2175909]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 382ms |

| 0 / 0 |
