Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Check-box из Excel в Access
 
 автор: Galaktika   (17.10.2006 в 04:52)   личное сообщение
 
 

Есть таблица 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

  Ответить  
 
 автор: osmor   (17.10.2006 в 08:41)   личное сообщение
 
 

checkbox- является внедренным объектом.
обратиться к нему можно по имени из объекта sheet
например так:
MsgBox ActiveWorkbook.ActiveSheet.OleObjects(1).Value
что бы отличить его от других контролов (не checkbox), можно использовать свойство
progID, у CkeckBox оно равно "Forms.CheckBox.1"
поскольку имя может быть любое, то определить к какой ячейке относиться контрол можно по свойству TopLeftCell - вернет ячейку в которой находится левый верхний угол контрола.

  Ответить  
 
 автор: Galaktika   (18.10.2006 в 07:43)   личное сообщение
 
 

Спасибо за ответ..Если честно, я мало что поняла...
У меня Excel таблица с фиксированным количеством строк. Один столбец -чекбоксы.Имена их ip1,ip2,......ip10. Как мне их перенести в Акс?

  Ответить  
 
 автор: osmor   (18.10.2006 в 10:00)   личное сообщение
 
 

Примерно так

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)
......

  Ответить  
 
 автор: Galaktika   (18.10.2006 в 10:44)   личное сообщение
 
 

Спасибо, все получилось!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList