Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/30: Рейтинг темы: голосов - 30, средняя оценка - 4.80
4 / 4 / 1
Регистрация: 02.02.2017
Сообщений: 180

Пример перевода DAO в ADO

02.11.2017, 23:08. Показов 7931. Ответов 118
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
я сильно прошу прощения за подобный вопрос, но, не могли бы вы на конкретном примере показать, как написанное в DAO будет выглядеть в ADO?

вот, пример работы с базой в DAO, напишите пожалуйста, как это будет выглядеть, если тоже самое сделать при помощи ADO?
...чесслово, заколебался уже мануалы читать - много частностей, много общего, хочу понять, как это все слепить воедино:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   Dim rs As DAO.Recordset
   Set rs = CurrentDb.OpenRecordset("AUTH", dbOpenDynaset)
   rs.MoveFirst
   Do Until rs.EOF
     If rs!login = Me.field_login Then
       If rs!passwd = Me.passwd Then
       login_name = Me.field_login
       DoCmd.OpenForm "DISTRIB"
       rs.MoveLast
       rs.MoveNext
       DoCmd.Close acForm, "Auth_start", acSaveYes
       Else
       MsgBox "Password do not match!"
       Me.passwd = ""
       rs.MoveLast
       rs.MoveNext
       End If
     Else
     rs.MoveNext
    End If
   Loop
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.11.2017, 23:08
Ответы с готовыми решениями:

ADO и DAO
Уважаемые форумчане! Не могли бы вы дать четкое объяснение разницы между ADO и DAO? Что предпочтительнее? Нужен более простой...

ADO или DAO
Очень интересно было бы ознакомиться с мнением грамотных людей по поводу различий между ADO и DAO, а также плюсов ли минусов в ту или...

Как разобраться с ADO и DAO
Подскажите где найти доступну для понимания ламеру информацию о ADO и DAO.....

118
Эксперт MS Access
 Аватар для Eugene-LS
13269 / 5946 / 1529
Регистрация: 05.10.2016
Сообщений: 16,639
21.11.2017, 20:32
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от blade_snl Посмотреть сообщение
и если могу, то как будет выглядеть синтаксис сего чуда? )
Как обновление RecordSet-а текущей формы.
1
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
21.11.2017, 20:38
Цитата Сообщение от blade_snl Посмотреть сообщение
...подразумевается, что нужно прописать запрос в "источнике записей" свойства формы?
а в vba я же могу это сделать какимто образом? например на Form_Load?
Изменение источника формы это присваивание свойству Recordsource некоторого SQL-выражения или имени таблицы/запроса. Таким образом, на Load пишете
Visual Basic
1
2
3
4
Dim s
s = "SELECT * FROM AUTH " _
& " WHERE login LIKE '*"& Forms!ИмяФормы!Имяполя & "*'"
Me.Recordsource = s
Подразумевается, что поисковое значение (у Вас было "ххх") считывается с некоторой формы
2
4 / 4 / 1
Регистрация: 02.02.2017
Сообщений: 180
21.11.2017, 20:44  [ТС]
спасибо, буду внедрять )
0
4 / 4 / 1
Регистрация: 02.02.2017
Сообщений: 180
21.11.2017, 21:04  [ТС]
чтото ругается... (((
Миниатюры
Пример перевода DAO в ADO  
0
Эксперт MS Access
 Аватар для Eugene-LS
13269 / 5946 / 1529
Регистрация: 05.10.2016
Сообщений: 16,639
21.11.2017, 21:09
Цитата Сообщение от blade_snl Посмотреть сообщение
чтото ругается...
Вижу лишний пробел пред WHERE
0
4 / 4 / 1
Регистрация: 02.02.2017
Сообщений: 180
21.11.2017, 21:19  [ТС]
а так? )
Миниатюры
Пример перевода DAO в ADO  
0
4 / 4 / 1
Регистрация: 02.02.2017
Сообщений: 180
21.11.2017, 21:22  [ТС]
а вот так выглядит форма, где это должно отобразиться... на заднем фоне видна сама таблица
Миниатюры
Пример перевода DAO в ADO  
0
4 / 4 / 1
Регистрация: 02.02.2017
Сообщений: 180
21.11.2017, 21:22  [ТС]
может ли это быть связано с тем, что на форме гораздо меньше полей, чем в запрошенной таблице?
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
21.11.2017, 21:25
blade_snl, Вам совершенно определенно говорят, что таблицы или запроса KLIENTS не существует. Видимо называется как-то иначе. Проверьте

Добавлено через 1 минуту
Называется "dbo_Klients". На скрине же видно.
1
4 / 4 / 1
Регистрация: 02.02.2017
Сообщений: 180
21.11.2017, 21:37  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Называется "dbo_Klients". На скрине же видно.
они все (таблицы) стали называться в Аксессе "dbo_" после того, как я перенес базу на SQL server, но во всех запросах я указываю имя таблицы без dbo_ и все работает. уже в куче мест делал и выборки и удаление и редактирование строк запросами - все норм работает.
Миниатюры
Пример перевода DAO в ADO  
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
21.11.2017, 21:50
Цитата Сообщение от blade_snl Посмотреть сообщение
во всех запросах я указываю имя таблицы без dbo_ и все работает.
Есть разница где используется таблица. Если в конструкторе запросов, то Access понимает, что dbo это имя схемы на сервере и позволяет обойтись без нее. В коде же ВБА запрос компилируется DAO и там нет такого понимания. Поэтому в коде привычное Вам написание без имени схемы не проходит, требуется явное ее указание как часть имени
1
4 / 4 / 1
Регистрация: 02.02.2017
Сообщений: 180
21.11.2017, 21:58  [ТС]
mobile, да, действительно - век живи, век учись! ))) спасибо!

Добавлено через 4 минуты
сюдаже.
форма открывается, но в ленточной части видна только первая из найденных строк, чтоб увидеть остальные - нужно растянуть форму вниз. есть возможность выровнять ее автоматически по количеству строк?
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
21.11.2017, 22:09
Вы же умеете пользоваться методом Move, на скрине было видно. Для 4-го параметра Move (это Height - высота) задать выражение типа
(КоличествоЗаписей*ВысотаЗаписи + ВысотаЗаголовка+ВысотаРамки)
КоличествоЗаписей узнаем из выражения
Visual Basic
1
КоличествоЗаписей=Me.Recordsetclone.recordcount
Остальные параметры надо подбирать вручную, имея в виду, что все значения задаются в твипах (1 см = 567 твип)
1
4 / 4 / 1
Регистрация: 02.02.2017
Сообщений: 180
21.11.2017, 22:18  [ТС]
mobile, спасибо
0
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
22.11.2017, 04:30
Цитата Сообщение от mobile Посмотреть сообщение
WHERE login LIKE '*"& Forms!ИмяФормы!Имяполя & "*'"
Цитата Сообщение от blade_snl Посмотреть сообщение
спасибо, буду внедрять )
ТС либо не читает ответов, либо не внедряет.
ЕМНИП, такой запрос в ADO работать не должен. Дело в звёздочке (*). Она для DAO, в ADO процент нужОн (%).
1
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
22.11.2017, 09:11
Цитата Сообщение от Панург Посмотреть сообщение
такой запрос в ADO работать не должен. Дело в звёздочке (*). Она для DAO, в ADO процент нужОн (%).
У автора не ADP и рекордсет формы даошный. Как мы видим из скринов на Пример перевода DAO в ADO и Пример перевода DAO в ADO. ТС слинковал таблицы и может обращаться к ним как к локальным.
1
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
22.11.2017, 09:41
mobile, мне кажется ТС следует прекратить писать роман "Как я делал свою базу данных" и начать задавать вопросы в отдельных топиках. Обращение было скорее к ТС.

Добавлено через 36 секунд
blade_snl
2
4 / 4 / 1
Регистрация: 02.02.2017
Сообщений: 180
22.11.2017, 13:20  [ТС]
Панург, дык, все работает )))

Добавлено через 1 минуту
Панург, т.е., создавать новый топик на каждый вопрос? ) хорошо.

Добавлено через 6 минут
кстати, автоматич размер окна сделал:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    Dim w, h, s, rec_col, rec_height
    Me.fld_login_base = login_name
    s = "SELECT * FROM dbo_KLIENTS WHERE klient_name LIKE '*" & Forms!WORK_NEW!fld_klient_name & "*'"
    Me.RecordSource = s
    rec_col = Me.RecordsetClone.RecordCount
    rec_height = 250
    
    On Error GoTo errRef
    DoCmd.Echo False
    DoCmd.Maximize
    w = Me.WindowWidth
    h = Me.WindowHeight
    DoCmd.Restore
    Me.Move (w - Me.InsideWidth) / 3, (h - Me.InsideHeight) / 4, Me.InsideWidth + 550, Me.InsideHeight + (rec_col * rec_height) + 950
errRef:
    DoCmd.Echo True
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
23.11.2017, 04:08
Цитата Сообщение от blade_snl Посмотреть сообщение
т.е., создавать новый топик на каждый вопрос?
Или предварительно почитать правила форума, как вариант.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.11.2017, 04:08

Библиотеки VBA dao/ado в одной базе
подскажите пожалуйста, в программе 2 макроса, --1 работает, когда библиотека Microsoft DAO 3.6 Object library выше Macrosoft ADO Ext....

Люди, скажите свое мнение о DAO и ADO,- что лучше?
Заранее спасибо за любое мнение!

DAO - > ADO
Есть база данных ACCEESS97 - таблица TEST с полями DATEOD,LS,NAMELS и модулем DAO_test (код ниже) Помогите перевести этот код на...

Возмоможно ли с помощью DAO или ADO подключиться к удаленному серверу в интернете
Обязательно ли на серевере должен быть установлен RDS? Если возможно приведите пример строки подключения для существуещего сервера в...

Пример открытия БД на ADO и открытия таблицы
Кто-нибудь помогите с примером открытия БД на ADO и открытие таблицы. Большое спасибо.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
119
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru