|
Access + MySQL
|
|||
---|---|---|---|
#18+
Добрый день! Прошу помощи в разъеснении есть подключение On Error Resume Next Dim oConn As Object Set oConn = New ADODB.Connection oConn.Open "DRIVER={MySQL ODBC 5.3 ANSI Driver};" & _ "SERVER=test;" & _ "DATABASE=test;" & _ "UID=test;" & _ "PASSWORD=test;" & _ "PORT:3306;" & _ "Option=3;" If oConn.State = adStateOpen Then MsgBox "Здрасти, я ваша Тетя =)" Else MsgBox "Фигасе... =(" End If Дальше необходимо вытащить данные из какой нибудь таблицы, помогите написать пример... И еще вопросик, на каждое событие мне надо открывать подключение (написано выше), если необходимо вытащить данные??? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2018, 18:53 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
и к примеру поместить в лист бокс ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2018, 23:37 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Поизучав данный вопрос я понял что это данные из таблицы вытаскиваются только рекордсетом, и что бы вставить в listbox необходимо организовывать переборку циклом. Можно ли .RecordSource = ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 14:13 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986, ну почему сразу перебором... У литбокса есть свойство Recordset , вот этому свойству можно присвоить полученный набор данных. Можно воспользоваться и свойством RowSource , указав свойству RowSourceType "Список значений". А из набора данных (надеюсь это ADODB.Recordset ) получить правильную строку с помощью метода GetString и присвоить её как источник строк листбокса. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 14:44 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Панург, не могли бы Вы привести примерчик (синтаксис), заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 15:36 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986не могли бы Вы привести примерчик (синтаксис)Синтаксис чего? Я привёл все ключевые слова (объекты, свойства), поискать по форуму сложно? listbox.RowSource + ADP ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 17:22 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
добавлю. В предложеном треде присвоение набора напрямую не пошло. Видимо неправильно был настроен список, т.к. с 2003 точно работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 17:27 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Панург, Пробовал, ошибку выдает...говорит в коллекции нет, явно указываю столбец, ошибку выдает ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 18:15 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986ПробовалГде? Не вижу. У меня плохо со зрением? SergeyL1986ошибку выдаетКто выдаёт? Имя, адрес, возраст. SergeyL1986говорит в коллекции нетКто говорит? Имя, адрес, возраст. SergeyL1986явно указываю столбецКому указываешь и где? Короче, полный код давай, а не огрызки. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 18:47 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986Панург, Пробовал, ошибку выдает...говорит в коллекции нет, явно указываю столбец, ошибку выдает Сергей, ты с простым вопросом затеррорил всю ветку. Вот код , проверку на ошибки только сам напиши) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 21:03 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Сергей Лалов, Спасибо, лист бокс заполнился, в догонку читал по ссылке ранее написанной, данный метод имеет изъян в количестве символов? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 21:57 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986 , Сергей, просто ради интереса. На какую тему пилишь базу в связке Access + MySQL? Сам долблю в этом направлении. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 21:57 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Сергей Лалов, В каком смысле тему? Попросили написать небольшую софтинку для хранения информации. Эксес выбран ввиду того что легко и быстро накидать формы и отчеты, а мускл ввиду того что БД должна быть доступна из разных мест (с эксевской БД что то у меня не получилось). По сути в эксес можно БД мускула прилинковать как таблицы и работать, но хочется сделать что бы этого не было ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 22:29 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Сергей Лалов, GetString что то чем дальше в лес тем ментше толковый информации где можно было бы почитать)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 22:31 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986Сергей Лалов, В каком смысле тему? По сути в эксес можно БД мускула прилинковать как таблицы и работать, но хочется сделать что бы этого не было Это самый нормальный вариант, залинковать таблицы. Но таким образом, чтобы при открытии проекта выскакивала входная форма mysql, с просьбой ввести логин и пароль. При линке таблиц просто не сохраняй пароль и все, при каждом запуске аксесса и будет эта форма выскакивать. Это все шляпа, что линкованные таблицы вредны с точки зрения безопасности. Это в родном аксесовском исполнении в них влезть можно, а если они на сервере, то все по другому. Но для паранойи могу отметить , что у тебя в любом случае используется логин и пароль. Так зная логин и пароль можно и без линкованных таблиц посмотреть структуру бд , с позиции прав доступа этого юзера. Сделать запросов, которые выведут и названия таблиц и прочую информацию. Просто сделай линкованные таблицы скрытыми, и все. Для конспирации линкованные таблицы можно обозвать совсем не так как на сервере:) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 23:05 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Сергей Лалов, Что бы понять всю мысль мне надо еще месяца два-три читать книжки про это хозяйство ))))). За совет спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 23:08 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986Сергей Лалов, Что бы понять всю мысль мне надо еще месяца два-три читать книжки про это хозяйство ))))). За совет спасибо! Вот, попробуй, с линкованными таблицами, приложил тестовый вариант. Права доступа написаны на стороне сервера mysql. При запуске никакого лишнего кода нет. При вводе выскакивает родное окно mysql с просьбой ввести логин и пароль. Логин user1,пароль 12012018. У этого пользователя доступ только на выборку. Это тестовая прошлая база, но с реализованным вводом логина и пароля. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2018, 23:39 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Сергей Лалов, Либо сервер не доступен, либо Логин и Пароль не верный( ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 12:17 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Сергей Лалов, в приницпе все так и сделал, только драйвер настроил изначально что бы они были сразу прилинкованы + таблицы скрыты от юзера. Вроде работает) Но хочется сделать так что бы клиент есть клиент, бд на сервере, у меня по крайне мере такое понимание))) К стати у меня тут возник следующий ворпос, если recordset является таблицой, которая в памяти, наверное сущестует просто метод перевести ее в "объект типа таблица", что бы потом ее легко вставить в listbox.RecordSource или в таблицу Form.RecordSource , так как я понял recordset в чистом виде туда не поставить Так как я не силен, можно это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 12:31 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986Сергей Лалов, К стати у меня тут возник следующий ворпос, если recordset является таблицой, которая в памяти, наверное сущестует просто метод перевести ее в "объект типа таблица", что бы потом ее легко вставить в listbox.RecordSource или в таблицу Form.RecordSource , так как я понял recordset в чистом виде туда не поставить Так как я не силен, можно это сделать? Да, в форму рекордсет вставить/натянуть на грид формы можно. Я делал это так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Очень медленно работает, очень, на форме, если это табличная перестают работать фильтры и сортировка обычные. На изменение, добавление данных приходится писать отдельные блоки обработки. Тупит по страшному. С листбоксом не пробовал, так как у него нет свойства recordset. Есть свойство controlsource. Попробуй,хз. Сервер я ночью отключил дома, ибо не хочу оставлять работающий комп дома на день, поэтому и не подключился ты) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 15:42 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Сергей Лалов, Вот тут спотыкается Set Me.Recordset = objMyRecordset ' передать рекордсет на форму говорит не "в коллекции не удается найти элемент..." Я так понимаю вот тут лежит таблица, полученная запросо с сервера objMyRecordset Me.Recordset - а вот это что? к кому относиться (к форме, если к форме может какие то надо настрйоки еще провести)? Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 16:00 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986Сергей Лалов, Me.Recordset - а вот это что? к кому относиться (к форме, если к форме может какие то надо настрйоки еще провести)? Заранее спасибо! Me это текущая форма ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 16:02 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
MsgBox objMyRecordset.GetString(, , ";", ";") данные вывел, то есть они там есть! я так понимаю форма не может сопоставить столбцы что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 16:05 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986MsgBox objMyRecordset.GetString(, , ";", ";") данные вывел, то есть они там есть! я так понимаю форма не может сопоставить столбцы что ли? Да, не может сопоставить, у тебя поля на форме должны иметь такие же системные имена, как и поля в таблицах на сервере ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 16:07 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Сергей Лалов, Выложил две картинки, в упор не понимаю где ошибка( ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 16:15 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
На картинке там вот так должно быть, но так же ругается)))) Set Me.Recordset = objMyRecordset ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 16:18 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986, ну пили, экспериментируй, ищи ошибку ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 16:59 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Сергей ЛаловДа, не может сопоставить, у тебя поля на форме должны иметь такие же системные имена, как и поля в таблицах на сервереПоля могут иметь любое имя, всем поф. Источники данных полей должны соответствовать полям рекрдсета ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 18:14 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986, ладно, сделаю завтра небольшой пример чтобы цепляться к любому источнику (к которому есть odbc-подключение) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 18:17 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
ПанургSergeyL1986, ладно, сделаю завтра небольшой пример чтобы цепляться к любому источнику (к которому есть odbc-подключение) Не,он хочет прилепить на форму отвязанный рекордсет. Чтобы нигде кроме формы данные не светились. Чтобы форма сжевала общее выражение типа select * и поля автоматом заполнились. Для этого просто достаточно названий полей на форме,без привязки к источнику данных. Вот интересный момент, есть ли возможность у аксесса поддерживать соединение без линкованных таблиц, без потери функциональности форм и проседания по скорости? Интересует работа с табличными формами. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 18:43 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Панург, Вот примерчик накидал с БД тестовой Мускл ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 18:49 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
В книгах написано именно так как написано выше, но у меня по чему не хочет так работать...пишет не в колекции, хотя если запросить имя столбца он выдает ответ что есть такой... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 18:53 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986, MySQL нет, поэтому всё равно тестировать не на чем. Пример работает следующим образом. Создай файл *.dsl (в примере приложил возможный вариант, требует проверки) или *.udl . Проверь, что всё работает (про создание файлов смотри в интернете). Файлы помещаешь рядом с примером. Запускаешь пример. В комбобоксе "Источники данных" выбираешь свой файл и нажимаешь на кнопку подключится. Если подключение произошло, то в табе в списках должны выводится имена таблиц, вьюшек и процедур которые есть в источнике на соответствующих вкладках. С списке выбираешь нужный объект (процедуры не выведутся!, можно не кликать) и кликаешь по нему. Содержимое должно вывестись в подчинённую табличную форму. С MySQL не пробовал, работает с Access, MS SQL Server и Sybase (нужен был универсальный инструмент глянуть содержимое этих БД). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2018, 05:09 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Панург, Пример выложил с работующей бд на Mysql, тестовую бд создал она работает ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2018, 07:51 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Панург, Попробую разобраться, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2018, 07:52 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986, ну что? Подключилось? Али нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2018, 10:07 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Сергей ЛаловПанургSergeyL1986, ладно, сделаю завтра небольшой пример чтобы цепляться к любому источнику (к которому есть odbc-подключение) Не,он хочет прилепить на форму отвязанный рекордсет. Чтобы нигде кроме формы данные не светились. Чтобы форма сжевала общее выражение типа select * и поля автоматом заполнились. Для этого просто достаточно названий полей на форме,без привязки к источнику данных. Вот интересный момент, есть ли возможность у аксесса поддерживать соединение без линкованных таблиц, без потери функциональности форм и проседания по скорости? Интересует работа с табличными формами.Именно всё это и реализовано в примере. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2018, 10:12 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Сергей Лаловон хочет прилепить на форму отвязанный рекордсетТолько почему же отвязанный? И привязанный нормально работает. Можно редактировать данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2018, 10:14 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
ПанургСергей Лаловон хочет прилепить на форму отвязанный рекордсетТолько почему же отвязанный? И привязанный нормально работает. Можно редактировать данные. Попробовал пример ваш. Да, крутой инструмент для снятия данных о базе, объектах, быстрой правке. Глянул модули, он писался в середине 2000х наверное еще) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2018, 16:30 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Сергей ЛаловГлянул модули, он писался в середине 2000х наверное еще)Почему? Класс не мой. А сам код писался совсем недавно. Всякие специфические вещи оттуда удалены, оставлена только получение данных. Я и сейчас туда пишу по мере надобности. Эта приблуда исключительно для себя. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2018, 19:29 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Панург, Спасибо за отзывчивость!)))Пропробывал пример, что куча ошибок выдает(((... К стати пример что я выложил он с действующей БД на мускуле... Тепер надо понять как рекордсет засунуть в форму "обычным" способом))) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2018, 21:30 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
SergeyL1986Пропробывал пример, что куча ошибок выдает(((...Каких? SergeyL1986К стати пример что я выложил он с действующей БД на мускуле...А толку? "Действующая БД на мускуле" где находится? У тебя. Так-то в примере кроме строки подключения и нет ничего. SergeyL1986Тепер надо понять как рекордсет засунуть в форму "обычным" способом)))Тебе уже писали Код: vbnet 1.
Да и в примере есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2018, 04:00 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Сергей ЛаловПопробовал пример ваш.А на чём попробовал? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2018, 04:03 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Панург, Так специально выложил файл там подключение к бд и небольшая форма с полеи, что бы recordset подцепился, а он ошибку выдает. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2018, 10:35 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
Панур По ошибке скрин скину ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2018, 10:36 |
|
Access + MySQL
|
|||
---|---|---|---|
#18+
ПанургСергей ЛаловПопробовал пример ваш.А на чём попробовал? На своей тестовой базке в mysql, под различными юзерами заходил. Еще ради интереса системную базу sys промониторил , чтобы посмотреть названия процедур и прочего окружения. Классная штука. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2018, 16:12 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1611773]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 195ms |
0 / 0 |