Автор: 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