КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Доступ к базам данных с помощью технологий DAO
ПРИМЕР DAO Вызов отчетов, сформированных в базе данных Технология ADO предоставляет объекты и методы работы с данными, т.е. с таблицами, запросами. Отчеты – это показ данных. Поэтому ADO не дает возможности это сделать. У COM объекта Access.Application есть соответствующий метод. Но этот подход возможен только, если на компьютере установлен MS Access. Dim abd As Access.Application Set abd = CreateObject("Access.Application") abd.OpenCurrentDatabase "i:\BD\БД_Книж_издат_V98.mdb" abd.DoCmd.OpenReport "Книга", acViewPreview Технология ADO предоставляет доступ к данным. Интерфейсная часть, т.е. входные и выходные формы вы должны составить в клиентском (интерфейсном) приложении. Dim bd As DAO.Database, rs As DAO.Recordset, td As DAO.TableDefs
Private Sub CommandButton1_Click() ' DAO UserForm1.ListBox1.Clear UserForm1.ComboBox1.Clear Set bd = _ OpenDatabase(ActiveWorkbook.Path & "\БД_Книж_издат_V98.mdb") Set td = bd.TableDefs UserForm1.ComboBox1.SetFocus For i = 0 To td.Count - 1 If td(i).Attributes = 0 Then ' пользовательские таблицы UserForm1.ComboBox1.AddItem td(i).Name If UserForm1.ComboBox1.ListCount = 1 Then UserForm1.ComboBox1.Value = td(i).Name End If Next UserForm1.ComboBox1.DropDown End Sub
Sub zapoln_sp(rs) Dim kfld As Integer, tb As ADOX.Table UserForm1.ListBox1.Clear Set tb = adocat.Tables(UserForm1.ComboBox1.Value) UserForm1.ListBox1.AddItem UserForm1.ListBox1.ColumnCount = rs.Fields.Count For j = 0 To tb.Columns.Count - 1 UserForm1.ListBox1.List(0, j) = tb.Columns(j).Name Next ns = 1 Do While Not rs.EOF UserForm1.ListBox1.AddItem For nk = 0 To rs.Fields.Count - 1 If rs.Fields(nk) <> "" Then UserForm1.ListBox1.List(ns, nk) = rs.Fields(nk) Next ns = ns + 1 rs.MoveNext Loop End Sub
Private Sub CommandButton2_Click() ' DAO ' Set rs = bd.OpenRecordset("select * from [" & ComboBox1.Value & "]") Set rs = bd.OpenRecordset(UserForm1.ComboBox1.Value) zapoln_sp rs End Sub Sub adoadd() adors.AddNew adors.Fields(0) = "123" adors.Update End Sub
Private Sub CommandButton3_Click() 'добавление новой записи adoadd rs.AddNew rs.Fields(0) = "111111" rs.Fields(1) = "Иванов И.И." 'сохранение данных в базе rs.Update ' Set rs = bd.OpenRecordset("select * from flow") ' rs.MoveFirst ' Do While Not rs.EOF ' MsgBox rs.Fields(1) ' rs.MoveNext ' Loop bd.Close End Sub
Private Sub CommandButton5_Click() Set rs = bd.OpenRecordset(UserForm1.TextBox1.Text) zapoln_sp rs End Sub Dim bd As Database, rs As Recordset, td As DAO.TableDefs
Private Sub CommandButton1_Click() UserForm1.ListBox1.Clear UserForm1.ComboBox1.Clear Set bd = OpenDatabase(ActiveWorkbook.Path & "\ÁÄ_Êíèæ_èçäàò_V98.mdb") Set td = bd.TableDefs UserForm1.ComboBox1.SetFocus For i = 0 To td.Count - 1 If td(i).Attributes = 0 Then ' ïîëüçîâàòåëüñêèå òàáëèöû UserForm1.ComboBox1.AddItem td(i).Name If UserForm1.ComboBox1.ListCount = 1 Then UserForm1.ComboBox1.Value = td(i).Name End If Next UserForm1.ComboBox1.DropDown End Sub
Sub zapoln_sp(ByRef rs As DAO.Recordset) Dim kfld As Integer UserForm1.ListBox1.Clear UserForm1.ListBox1.ColumnCount = rs.Fields.Count ns = 0 Do While Not rs.EOF UserForm1.ListBox1.AddItem For nk = 0 To rs.Fields.Count - 1 If rs.Fields(nk) <> "" Then UserForm1.ListBox1.List(ns, nk) = rs.Fields(nk) Next ns = ns + 1 rs.MoveNext Loop End Sub
Private Sub CommandButton2_Click() ' Set rs = bd.OpenRecordset("select * from [" & ComboBox1.Value & "]") Set rs = bd.OpenRecordset(UserForm1.ComboBox1.Value) zapoln_sp rs End Sub
Private Sub CommandButton3_Click() 'äîáàâëåíèå íîâîé çàïèñè rs.AddNew rs.Fields(0) = "111111" rs.Fields(1) = "Èâàíîâ È.È." 'ñîõðàíåíèå äàííûõ â áàçå rs.Update ' Set rs = bd.OpenRecordset("select * from flow") ' rs.MoveFirst ' Do While Not rs.EOF ' MsgBox rs.Fields(1) ' rs.MoveNext ' Loop bd.Close
End Sub
Private Sub CommandButton5_Click() Set rs = bd.OpenRecordset(UserForm1.TextBox1.Text) zapoln_sp rs End Sub
Dim bd As Database, rs As Recordset, td As DAO.TableDefs
Private Sub CommandButton1_Click() UserForm1.ListBox1.Clear UserForm1.ComboBox1.Clear Set bd = OpenDatabase(ActiveWorkbook.Path & "\БД_Книж_издат_V98.mdb") Set td = bd.TableDefs UserForm1.ComboBox1.SetFocus For i = 0 To td.Count - 1 If td(i).Attributes = 0 Then ' пользовательские таблицы UserForm1.ComboBox1.AddItem td(i).Name If UserForm1.ComboBox1.ListCount = 1 Then UserForm1.ComboBox1.Value = td(i).Name End If Next UserForm1.ComboBox1.DropDown End Sub
Sub zapoln_sp(ByRef rs As DAO.Recordset) Dim kfld As Integer UserForm1.ListBox1.Clear UserForm1.ListBox1.ColumnCount = rs.Fields.Count ns = 0 Do While Not rs.EOF UserForm1.ListBox1.AddItem For nk = 0 To rs.Fields.Count - 1 If rs.Fields(nk) <> "" Then UserForm1.ListBox1.List(ns, nk) = rs.Fields(nk) Next ns = ns + 1 rs.MoveNext Loop End Sub
Private Sub CommandButton2_Click() ' Set rs = bd.OpenRecordset("select * from [" & ComboBox1.Value & "]") Set rs = bd.OpenRecordset(UserForm1.ComboBox1.Value) zapoln_sp rs End Sub
Private Sub CommandButton3_Click() 'добавление новой записи rs.AddNew rs.Fields(0) = "111111" rs.Fields(1) = "Иванов И.И." 'сохранение данных в базе rs.Update ' Set rs = bd.OpenRecordset("select * from flow") ' rs.MoveFirst ' Do While Not rs.EOF ' MsgBox rs.Fields(1) ' rs.MoveNext ' Loop bd.Close
End Sub
Private Sub CommandButton5_Click() Set rs = bd.OpenRecordset(UserForm1.TextBox1.Text) zapoln_sp rs End Sub
Private Sub UserForm_Click()
End Sub
Дата добавления: 2014-01-04; Просмотров: 457; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |