11 / 8 / 0
Регистрация: 17.02.2012
Сообщений: 88
|
|
1 | |
Обсуждение статьи "Совместная работа MS Access и сервера MySQL" (Сергей 1980)29.03.2012, 11:36. Показов 3584. Ответов 27
Метки нет (Все метки)
Вы пропустили еще некую процедурку при связи таблиц по указанному полю(для обеспечения целостности данных)(см. приложенный рисунок)
Для чего ето делается мне не понятно.
0
|
29.03.2012, 11:36 | |
Ответы с готовыми решениями:
27
Обсуждение статьи Совместная работа MS Access и сервера MySQL Совместная работа MySQL (удаленно) и MS Access Совместная работа в excel и плановая перезагрузка сервера Совместная работа Oracle SSO Server и стороннего web сервера Совместная работа Oracle SSO Server и стороннего WEB сервера |
2092 / 1168 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
|
|
29.03.2012, 11:42 | 2 |
Тема Написание статей только для самих статей, их обсуждение выносим в отдельные темы.
В этой теме обсуждаем статью Сергея 1980 "Совместная работа MS Access и сервера MySQL
0
|
11 / 8 / 0
Регистрация: 17.02.2012
Сообщений: 88
|
|
29.03.2012, 11:43 [ТС] | 3 |
Прошел я все процедуры и этапы. В моей базе в ексесе появились значки с названиями таблиц видимо указывающие на то что связь с сервером установлена.(см. приложенный рисунок)
Вопрос: теперь мне не понятно как вообще с этим работать? как через оболочку аксеса управлять таблицами в базе денвера? че делать то надо? куда тыкаться? Как редактировать запросы? и т.д.
0
|
7395 / 4532 / 295
Регистрация: 12.08.2011
Сообщений: 14,016
|
|
30.03.2012, 02:44 | 4 |
0
|
11 / 8 / 0
Регистрация: 17.02.2012
Сообщений: 88
|
|
30.03.2012, 07:57 [ТС] | 5 |
Зачем задавать вопросы наводящие на глупость и незнание того кому задается вопрос если ето и так потенциально понятно.
Ну не улавливаю я доконца как там че работает...
0
|
545 / 375 / 16
Регистрация: 17.12.2009
Сообщений: 985
|
|
30.03.2012, 10:18 | 6 |
Все достаточно просто. Все запросы работают корректно. НО! Синтаксис SQL используйте из MySQL. В частности вместо таких кавычек " " рекомендую использовать такие ``.
Но если хотите -также в мускуле есть птица (галочка) которая позволяет жрать синтаксис T-SQL . Найдите ее в настройках сервера и активируйте. Что еще, - не используйте ссылки , такие как Forms![Форма1]... Все переменные передавайте в виде ....WHERE [поле1]="& имя_переменной. При соблюдении этих нехитрых ограничений все работает идеально. Также можно создавать на серваке сохраненные процедуры и триггеры. Обратиться к ним также довольно просто через базовый пример , про который здесь хорошо написал Евгений Тесленко. У вас какой вопрос именно по работе с мускулом, что не фурычит? Добавлено через 6 минут У вас обычная линковка таблиц, как и в аксессе. Это значительно упрощает жизнь. Работайте как и раньше работали с аксессом. Запросы можно редактировать в phpmyadmin. Зайдите туда и посмотрите. Там есть некое подобие конструктора запросов,как и в аксессе. У меня сейчас к сожалению на работе нет возможности поюзать мускул, поэтому более детально помощб оказать не могу.
2
|
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 9
|
|
03.09.2013, 00:54 | 7 |
Здравствуйте, Сергей. У меня такая же проблема! Связь-то установилась. Но делать в этих таблицах ничего невозможно! Они как будто заблокированы (в Access). Никаких изменений не внести. На сервере в MySQL можно вносить изменения, они потом появляются в Access. Но мне очень важно, чтобы именно через Access вносить изменения в MySQL. А этого-то и не получается. Перерыла весь интернет, нашла много ссылок, как связать Access с MySQL, читала Вашу статью и другие, все делала по инструкции, но увы. Может быть у меня Access слишком старый - 2003. Но Вы в Вашей статье в самом начале пишите, что для 2003 работает.
Вот Вы тут пишите "работайте как и раньше работали с аксессом". Так в этом-то и проблема, что не работает как раньше. Меня даже не так запросы волнуют, с этим я разберусь, сколько внесение и обновление данных в таблицах. Просто беда какая-то. Помогите, пожалуйста. Заранее спасибо.
0
|
545 / 375 / 16
Регистрация: 17.12.2009
Сообщений: 985
|
|
03.09.2013, 01:13 | 8 |
Все очень просто. По первости у меня тоже возникал данный вопрос. Поделюсь страшной тайной этой и с вами)) вы забыли установить ключевые поля в таблицах на сервере MySQL )) зайдите в phpmyadmin и проставьте для нужных вам полей значение PK (primary key то бишь, первичный ключ. Ну или просто уникальный индекс) если это уникальное поле является счетчиком вдобавок, не забудьте выбрать для данного поля аббревиатуру A_I то есть auto increment.
2
|
545 / 375 / 16
Регистрация: 17.12.2009
Сообщений: 985
|
|
03.09.2013, 01:24 | 9 |
Это тут. Посмотрите на картинке место где ставятся ключи и нажмите напротив нужного поля.
если вдобавок ключ является счетчиком выберите в поле со списком значение для него auto increment. От версии к версии выбор автоинкремента может визуально отличаться. Если поля со списком нет, то найдите выражение A_I и поставьте галочку . Потом естественно сохраните изменения . После того как проставите ключи по всем таблицам, они у вас стразу станут в аксессе редактируемыми.
1
|
545 / 375 / 16
Регистрация: 17.12.2009
Сообщений: 985
|
|
03.09.2013, 01:29 | 10 |
Не отрываясь продолжая работать как раньше в аксесс, одним глазом посматривая в сторону полноценного веб интерфейса, созданного на MySQL , Php, JavaScript и jquery , HTML и CSS ))
2
|
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 9
|
|
03.09.2013, 03:42 | 11 |
Спасибо Вам большое!!! Я буду пробовать. Исправлять .
Добавлено через 50 минут Еще раз спасибо! Как говорится "Урра, заработало". Теперь хоть можно отладить базу нормально - все эти ключи, поля и т.п., чтоб потом эта база была основой для справочного сайта. Но вот новая проблема появилась. В этих связанных таблицах вносить-то и изменять информацию можно, но, например, выпадающие списки исчезли, и вернуть их нельзя. Т.е., каждую новую запись надо просто вручную вносить, вместо того, чтобы пользоваться в некоторых полях удобными подстановками. Конструктор пишет, что изменения свойств невозможны (наверно это логично, ведь в MySQL у меня нет выпадающих списков). Подтаблицы тоже отключились . Это первое. И второе. У меня получился как бы двойной набор таблиц. Одни, те что созданы изначально. На них все запросы и формы для заполнения созданы. Второй набор таблиц с таким же названием, только цифра 1 к каждой добавилась, - связанные с MySQL. Формы с ними уже не работают. Так вот вопрос. Можно ли как-то все это связать, или придется все формы переделывать под эти новые таблицы. В общем это, конечно, не очень сложно - поменять источники записей в форме на новые. А старые таблицы снести за ненадобностью. Но может быть есть более изящное решение? Связать первоначальные таблицы с новыми. Собственно, ради работоспособности этих форм весь сыр-бор у меня и складывается. Буду очень признательна за подсказку. Или где почитать.
0
|
545 / 375 / 16
Регистрация: 17.12.2009
Сообщений: 985
|
|
03.09.2013, 13:30 | 12 |
Те таблицы ,которые не с сервера удаляйте, они больше не нужны. Наверняка у вас при импорте таблиц с сервера MySQL названия таблиц задублировались ,и те которые линковали с сервера заканчиваются на цифру1 в конце каждой. Уберите эти единички. Теперь по поводу выпадающих списков.
Не используйте выпадающие списки на уровне таблиц и запросов. Не создавайте их там никогда. Это нельзя делать с точки зрения нормального базостроения. Создавайте комбобоксы/списки толька на формах. И не будет никаких проблем. Таблицы и запросы это источники данных. А средства вывода- формы и отчеты. Не надо нести на табличную часть аксесса дополнительные нагрузки. Также крайне не рекомендуется использовать расчетные поля в таблицах (в последних версиях аксесса такие возможности появились) и не использовать поля с подстановкой по возможности. Схему данных делайте в каждом конкретном конструкторе запросов свою. Так как если у вас код таблиц в MySQL ISAM то такие таблицы не поддерживают реляционных связей. Добавлено через 1 минуту Это как раз и делается для индексации строк таблиц. Если у вас по умолчанию структура таблиц на мускуле проиндексирована, то таких проблем не возникает.
2
|
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 9
|
|
03.09.2013, 14:17 | 13 |
Да-а-а, век живи, век учись, как говорила моя бабушка, и дураком помрешь. Спасибо, учту про списки. Это ценно, я не знала. Названия да, задублировались с цифорой 1. Признаться, мне в голову не пришло, что решение такое простое - название таблиц привести в соответствие. Фантастика! Все работает. Ну, наверняка еще полезут нестыковки, но это и к лучшему - отладить теперь можно.
Но у меня еще сразу вопрос. Теперь работать с Access можно только при подключенном сервере? Я-то надеялась, что можно поработать удаленно с Access, а потом подключиться, когда надо, и через диспетчер связанных таблиц обновить информацию на сервере. Ну, специфика поставленной задачи такова, что было бы крайне желательно работать раздельно. Или уже теперь все, мертвая сцепка? Оно теперь жаждет подключения . Есть ли какой-то выход? Я Вам крайне признательна за помощь - уже долгое время топчемся на месте и не можем решить эту задачу. Мы создаем справочный сайт по благотворительным организациям СПб. Работа проводится исключительно волонтерами. Так что Ваши подсказки выводят из тупого отчаяния, что ничего не получится. Спасибо Вам большое.
0
|
545 / 375 / 16
Регистрация: 17.12.2009
Сообщений: 985
|
|
03.09.2013, 17:40 | 14 |
Все получится, будьте уверены.
Да, при такой связке как MS Access + MySQL делать репликации стандартными способами не получиться. То есть система будет работать пока сервер включен. Когда сервер отключен будет выскакивать соответствующая ошибка. По поводу многопользовательского доступа в данную базу: Если попросите расшарить ваших айтишников данный сервер на возможность доступа из интернета, то появиться возможность работать единовременно любым пользователям с любой точки земного шара. Для этого надо открыть порт 3306 на вход через интернет, и зарегестрировать айпишник сервера, чтобы он пинговался оттуда же. Если у вас данный сервер параллельно является источником данных для сайта , то есть по http уже можно заходить, то это значит,что уже регистрировать айпишник не надо, просто открыть порт 3306 в интернет и все. После этого рассылаете клиентские части аксесса нужным людям которые занимаются заведением и объясняете как они могуть подключиться при помощи MyODBC.
1
|
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 9
|
|
03.09.2013, 18:19 | 15 |
Мммм... Т.е., только через интернет... Ну что же, в общем вариант хороший, главное, чтоб интернет не отключили .
Да, в конечном варианте, видимо, сервер будет источником данных для сайта. Сейчас пока на локальном отлаживаю, да еще и на флэшке - думала проверить такой вариант, чтобы все изолировано работало. В общем, надо теперь все это переварить . Так, а клиентские части аксесса - это что-то из разделения базы, да? Я еще не освоила эту часть аксесса. Как-то не было необходимости. Если об этом речь, то пойду осваивать . Вообще, аксесс хорошая программа. Чего его все ругают? Вон сколько умеет. Я б ни в жизни ни с какими базами не смогла работать - mysql там, еще что-то. Закорючки одни. В аксесс хоть по человечески все написано . Спасибо, буду дальше штудировать .
0
|
545 / 375 / 16
Регистрация: 17.12.2009
Сообщений: 985
|
|
03.09.2013, 18:42 | 16 |
Сообщение было отмечено как решение
Решение
Аксесс нормальная программа, за один проект,причем написанный за неделю вполне можно получить и 80 и 100 килорублей.Без отрыва от основного рода деятельности на работе, которая никак не связана с программированием. Балуюсь на нем довольно серьезно. Хотя сейчас перехожу на веб программирование.
Ну клиентская часть программы, эта та,которую видит пользователь у себя на рабочем столе в качестве ярлычка в данной ситуации. В вашем случае)
3
|
1302 / 508 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
|
03.09.2013, 20:34 | 17 |
не в обиду аксесу, я вот если честно не понимаю, как нормальная фирма может работать в аксесе. Минусов хватает. Его только в личных целей можно использовать. Еще при этом 100 штук отваливать за разработку. За эти 100 штук можно и нормальную (более серьезную) базу разработать как два пальца. Мелкая фирма не будет сотку платят за базу, а крупной 2 гига это на три часа работы, потом все, места нет
0
|
545 / 375 / 16
Регистрация: 17.12.2009
Сообщений: 985
|
|
03.09.2013, 21:10 | 18 |
Не место красит человека, а человек место. Зачастую конторам необходимо решать задачи уже сейчас и денег на Sap,axapta нет еще. В аксессе есть такой инструмент , как мастер переноса на ms SQL server. После использования данного мастера переноса аксесс превращается в полноценную систему, заточенную решать те задачи, которые разработчик вложил еще на стадии написания базы в родном формате mdb. И которая совсем не отличается по функционалу решаемых задач от решаемых в тех же самых озвученных монстрах. Видел сложные реализации складских программ в аксессе, кто то даже написал наподобие 1с бухгалтерии. Преимущество аксесса в том, что он априори дружественен со всем набором офисных программ, которые используют люди в офисе в повседневной жизни. Он более ориентировал именно на пользователя, чтобы он мог по быстрому создать инструмент для решения своей прикладной задачи. Вот захотел я вести статистику и работу по условиям выживания жуков долгоносиков на глубине 3000 метров за полярным кругом ,а программы специальной нету. Просить это реализовать в 1с, sap, axapta ? Там во первых ничего не шарят в области долгоносиков и во вторых никто не нырял на глубину 12 тысяч метров. Но не откажут, цену влепят только космическую ( за привлечение к работе Николая Дроздова- долгоносики, Кусто - ныряние, Беар Грилз- обучение Дроздова , Кусто и долгоносиков выживать на глубине 3000 метров за полярным кругом). Аксесс просто инструмент. Острота его зависит от разработчика. Если инструмент четко решает поставленные задачи, не ломается, дорабатываемый и еще денежку приносит , то ничего в этом плохого не вижу. Кого я в первую очередь на работу возьму, гения который ни хрена не делает и очень капризен, или исполнительного середнячка, который оперативно все вопросы порешает и мне геморроя не доставит. Выберу последнего. Ключевой тег данного ответа - #долгоносики_выжили.
0
|
1302 / 508 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
|
03.09.2013, 21:19 | 19 |
Во во, я про это и пишу, что для себя позволяет оперативно наладить нужный инструмент для работы сегодня. Но не для БАЗЫ ДАННЫХ. Как базу его нечего рассматривать. Это мое мнение
0
|
545 / 375 / 16
Регистрация: 17.12.2009
Сообщений: 985
|
|
03.09.2013, 21:26 | 20 |
Мы тоже инструменты для работы. И база тоже инструмент работы. И начальник - это тоже инструмент более высокого профиля. Наша задача - стать дирижером, кто где может.
0
|
03.09.2013, 21:26 | |
03.09.2013, 21:26 | |
Помогаю со студенческими работами здесь
20
Совместная работа InfoPath2007, Access 2007 между двумя компаниями ОБСУЖДЕНИЕ СТАТЬИ О разработке структуры базы данных (для начинающих) (обсуждение статьи) Работа с бд MySQL без сервера баз данных Оптимизация MySQL или почему работа сервера ухудшилась Найти названия книг автора, изданных с 1980 года (работа с файлами) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |