Автор: Anton T
Дата сообщения: 11.12.2007 16:34
Добрый вечер!
В екселе на листбоксе список домов в количестве 40 шт., передается в базы, но в базе всего лишь один дом, а 39 пропущено! Как решить?
Код:
Private Sub CommandButton2_Click()
Dim dbs As Database
Dim aaa As TableDef
Dim rst As Recordset
Dim WS As Worksheet
Dim i As Integer
rw = ListBox1.ListCount
cl = ListBox1.ColumnCount
Set dbs = OpenDatabase("C:\access-excel\db1.mdb") 'Открываем в памяте
Set aaa = dbs.CreateTableDef(TB2.Value) 'В аксессе содзает имя
With aaa
.Fields.Append .CreateField("F", dbText)
.Fields.Append .CreateField("N", dbText)
.Fields.Append .CreateField("O", dbText)
.Fields.Append .CreateField("G", dbText)
.Fields.Append .CreateField("A", dbText)
.Fields.Append .CreateField("D", dbText)
.Fields.Append .CreateField("K", dbText)
.Fields.Append .CreateField("K1", dbText)
.Fields.Append .CreateField("K2", dbText)
.Fields.Append .CreateField("S", dbText)
.Fields.Append .CreateField("R", dbText)
.Fields.Append .CreateField("C", dbText)
.Fields.Append .CreateField("D1", dbText)
End With
dbs.TableDefs.Append aaa
Set rst = dbs.TableDefs(TB2.Value).OpenRecordset(dbOpenDynaset)
With rst
.AddNew
.Fields("F").Value = CStr(Cells(rw, cl - 12).Value)
.Fields("N").Value = CStr(Cells(rw, cl - 11).Value)
.Fields("O").Value = CStr(Cells(rw, cl - 10).Value)
.Fields("G").Value = CStr(Cells(rw, cl - 9).Value)
.Fields("A").Value = CStr(Cells(rw, cl - 8).Value)
.Fields("D").Value = CStr(Cells(rw, cl - 7).Value)
.Fields("K").Value = CStr(Cells(rw, cl - 6).Value)
.Fields("K1").Value = CStr(Cells(rw, cl - 5).Value)
.Fields("K2").Value = CStr(Cells(rw, cl - 4).Value)
.Fields("S").Value = CStr(Cells(rw, cl - 3).Value)
.Fields("R").Value = CStr(Cells(rw, cl - 2).Value)
.Fields("C").Value = CStr(Cells(rw, cl - 1).Value)
.Fields("D1").Value = CStr(Cells(rw, cl).Value)
.Update
.Close
End With
dbs.Close
End Sub