|
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 |
|
|
start [/forum/topic.php?fid=45&msg=39587589&tid=1611773]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 161ms |
0 / 0 |