|
|
|
| Есть таблица Excel, кот. нужно перенести в Access. Ячейки(cells) я программно переношу , а вот как перенести check-box из Excel в таблицу Access. Кусок кода:
Private Sub Command0_Click()
Set ws = obExcel.ActiveSheet
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset("consultation", dbOpenDynaset)
Rem *****
For i = 10 To 20
rst.AddNew
rst!pr_entity = ws.Cells(3, 3)
rst!report_period = ws.Cells(4, 3)
rst!report_date = ws.Cells(i, 1)
rst!district = ws.Cells(i, 2)
rst!community = ws.Cells(i, 3)
rst!format = ws.Cells(i, 4)
Rem rst!rap = ws.Cells(i, 6)--------вот здесь нужно не Cells,а что??????
rst!part_number = ws.Cells(i, 8)
rst!grievance_number = ws.Cells(i, 9)
rst!per_satisfaction = ws.Cells(i, 10)
rst!person = ws.Cells(24, 4)
If Not IsNull(rst!report_date) Then
rst.Update
End If
Next i
Rem ****
rst.Close
dbs.Close | |
|
| |
|
|
|
| checkbox- является внедренным объектом.
обратиться к нему можно по имени из объекта sheet
например так:
MsgBox ActiveWorkbook.ActiveSheet.OleObjects(1).Value
что бы отличить его от других контролов (не checkbox), можно использовать свойство
progID, у CkeckBox оно равно "Forms.CheckBox.1"
поскольку имя может быть любое, то определить к какой ячейке относиться контрол можно по свойству TopLeftCell - вернет ячейку в которой находится левый верхний угол контрола. | |
|
| |
|
|
|
| Спасибо за ответ..Если честно, я мало что поняла...
У меня Excel таблица с фиксированным количеством строк. Один столбец -чекбоксы.Имена их ip1,ip2,......ip10. Как мне их перенести в Акс? | |
|
| |
|
|
|
| Примерно так
Dim objCh As OLEObject
.......
.......
rst!format = ws.Cells(i, 4)
For Each objCh In ws.OLEObjects
If objCh.TopLeftCell.Row = i Then rst!rap = objCh.Object.Value
Next
rst!part_number = ws.Cells(i, 8)
......
|
| |
|
| |
|