ЦопиФромРецордсет је вероватно најлакши начин за добијање података из Аццесс табеле на радном листу програма Екцел.
Под ДАОЦопиФромРецордСет (ДБФуллНаме Ас Стринг, ТаблеНаме Ас Стринг, _ ФиелдНаме Ас Стринг, ТаргетРанге Ас Ранге) 'Пример: ДАОЦопиФромРецордСет "Ц: \ Име фолдера \ ДатаБасеНаме.мдб", _ "Име_табеле", "Име поља Дим дб као база података, рс као скуп записа Дим интЦолИндек као цео број Сет ТаргетРанге = ТаргетРанге.Целлс (1, 1) Сет дб = ОпенДатабасе (ДБФуллНаме) Сет рс = дб.ОпенРецордсет (ТаблеНаме, дбОпенТабле) 'сви записи' Сет рс = дб. ОпенРецордсет ("СЕЛЕЦТ * ФРОМ" & ТаблеНаме & _ "ВХЕРЕ" & ФиелдНаме & _ "= 'МиЦритериа'", дбРеадОнли) 'записи филтера' уписују имена поља За интЦолИндек = 0 За рс.Фиелдс.Цоунт - 1 ТаргетРанге.Оффсет ( 0, интЦолИндек) .Валуе = рс.Фиелдс (интЦолИндек) .Наме Нект 'упиши скуп записа ТаргетРанге.Оффсет (1, 0) .ЦопиФромРецордсет рс Сет рс = Ништа дб.Затвори скуп дб = Ништа Крај Суб
Ако желите већу контролу при увозу података, можете прилагодити доњи макро:
Суб ДАОФромАццессТоЕкцел (ДБФуллНаме Ас Стринг, ТаблеНаме Ас Стринг, _ ФиелдНаме Ас Стринг, ТаргетРанге Ас Ранге) 'Пример: ДАОФромАццессТоЕкцел "Ц: \ Име фасцикле \ ДатаБасеНаме.мдб", _ "Име_табеле", "Име поља Дим дб као база података, рс као скуп записа Дим лнгРовИндек као дуго постављено ТаргетРанге = ТаргетРанге.Целлс (1, 1) Сет дб = ОпенДатабасе (ДБФуллНаме) Сет рс = дб.ОпенРецордсет (ТаблеНаме, дбОпенТабле) 'сви записи' Сет рс = ДБ. ОпенРецордсет ("СЕЛЕЦТ * ФРОМ" & _ ТаблеНаме & "ВХЕРЕ" & ФиелдНаме & _ "= 'МиЦритериа'", дбРеадОнли) 'записује филтер лнгРовИндек = 0 Са рс Ако није .БОФ Затим .МовеФирст Вхиле Нот .ЕОФ ТаргетРанге.Оффсет ( лнгРовИндек, 0) .Формула = .Фиелдс (ФиелдНаме) .МовеНект лнгРовИндек = лнгРовИндек + 1 Венд Енд Витх Сет рс = Ништа дб.Затвори скуп дб = Ништа не завршава под
Примери макроа претпостављају да је ваш ВБА пројекат додао референцу у библиотеку објеката ДАО.
То можете учинити из ВБЕ -а одабиром менија Алати, Референце и одабиром Мицрософт ДАО к.кк библиотеке објеката.
Користите АДО ако можете бирати између АДО и ДАО за увоз или извоз података.