powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подключение и запуск Аксесс-MySQL
9 сообщений из 9, страница 1 из 1
Подключение и запуск Аксесс-MySQL
    #39407993
kanan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Форумчане, доброго времени суток!

Прошу помочь в создании в запуске связки Аксесс 2003 -MySQL

Пояснения ко вложению.
В Management.mdb есть форма fEnter1 введя в которую пароль "1"открываем соответствующую форму. Таким образом организовано распределение прав доступа
При переносе содержимого таблицна MySQL возникает проблема: при вводе пароля связь с таблицами MySQL не образуется, не запускается, выдает ошибку в модуле.
Подскажите, пожалуйста, что нужно сделать?
...
Рейтинг: 0 / 0
Подключение и запуск Аксесс-MySQL
    #39407997
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kanan,

Полагаю, это надо спрашивать в подфоруме по Access-у.
Если хотите - перенесу топик.
...
Рейтинг: 0 / 0
Подключение и запуск Аксесс-MySQL
    #39408010
kanan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft, это на стыке аксесс и MySQL. Куда лучше перенести- где больше будет советов..


Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
Подключение и запуск Аксесс-MySQL
    #39408079
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kananПрошу помочь в создании в запуске связки Аксесс 2003 -MySQL

В разрезе ODBC:
1. Подбираем ставим и настраиваем нужный драйвер.
2. Проверяем, что с ним таблицы линкуются в ручную и более - менее быстро открываются...
Прилинковать таблицу можно так:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Public Function linc_tbl (sTbl As String) As Integer
On Error GoTo er1
linc_tbl = 0
DoCmd.TransferDatabase acLink, "ODBC", "ODBC;DSN=ИМЯ ODBC", acTable, sTbl, sTbl
Exit Function
er1:
linc_tbl = 1   ' неудачная попытка
End Function



Отлинковать так:

Public Sub del_tbl(sTbl As String)
On Error Resume Next
DoCmd.DeleteObject acTable, sTbl
er1:
End Sub

Если че не так набрал по памяти, то ключевые строки п. 1,2 + DoCmd
...
Рейтинг: 0 / 0
Подключение и запуск Аксесс-MySQL
    #39410123
kanan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть модуль подключения к Аксесс к Ms SQL Server
Просьба помочь переделать его для соединения Аксесс к MySQL

Option Compare Database
Option Explicit

Private Sub cmdConnect_Click()
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim rst As DAO.Recordset
Dim strServer As String
Dim strDB As String
Dim strTable As String
Dim strConnect As String
Dim strMsg As String

On Error GoTo HandleErr

' Build base authentication strings
Select Case Me.optAuthentication
' Windows/NT login
Case 1
strConnect = "ODBC;Driver={SQL Server};Trusted_Connection=Yes;"
' SQL server login
Case 2
strConnect = "ODBC;Driver={SQL Server};UID=" _
& Me.txtUser & ";PWD=" & Me.txtPwd & ";"
End Select

' Get rid of old links, if any
Call DeleteLinks

' Create recordset to obtain server, database and table names
Set db = CurrentDb
Set rst = db.OpenRecordset("tblSQLTables", dbOpenSnapshot)
If rst.EOF Then
strMsg = "There are no tables listed in tblSQLTables."
GoTo ExitHere
End If

' Walk through the recordset and create the links
Do Until rst.EOF
strServer = rst!SQLServer
strDB = rst!SQLDatabase
strTable = rst!SQLTable
' Create a new TableDef object
Set tdf = db.CreateTableDef(strTable)
' Set the Connect property to establish the link
tdf.Connect = strConnect & _
"Server=" & strServer & _
";Database=" & strDB & ";"
tdf.SourceTableName = strTable
' Append to the database's TableDefs collection
db.TableDefs.Append tdf
rst.MoveNext
Loop

strMsg = "Tables linked successfully."

rst.Close
Set rst = Nothing
Set tdf = Nothing
Set db = Nothing

ExitHere:
MsgBox strMsg, , "Link SQL Tables"
Exit Sub

HandleErr:
Select Case Err
Case Else
strMsg = Err & ": " & Err.Description
Resume ExitHere
End Select
End Sub

Private Sub DeleteLinks()
' Delete any leftover linked tables from a previous session

Dim tdf As DAO.TableDef

On Error GoTo HandleErr
For Each tdf In CurrentDb.TableDefs
With tdf
' Only delete SQL Server tables
If (.Attributes And dbAttachedODBC) _
= dbAttachedODBC Then
CurrentDb.Execute "DROP TABLE [" & tdf.Name & "]"
End If
End With
Next tdf

ExitHere:
Set tdf = Nothing
Exit Sub

HandleErr:
MsgBox _
Err & ": " & Err.Description, , _
"Error in DeleteLinks()"
Resume ExitHere
Resume
End Sub

Private Sub cmdExit_Click()
DoCmd.Close
End Sub

Private Sub Form_Load()
Call DeleteLinks
End Sub

Private Sub optAuthentication_AfterUpdate()

Select Case Me.optAuthentication
Case 1 ' NT authentication
Me.txtUser.Visible = False
Me.txtPwd.Visible = False

Case 2 ' SQL server authentication
Me.txtUser.Visible = True
Me.txtPwd.Visible = True
End Select
End Sub
...
Рейтинг: 0 / 0
Подключение и запуск Аксесс-MySQL
    #39410408
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kanan,

имхо никто вам ничего переделывать не будет...
отличие MySQL от Ms SQL в том. что MySQL открытая и бесплатая и MS естественно её напрямую не поддерживает...
по этому без п. 1 в моем предыдущем посте ничего не получится (от слова вообще)...
Мой предыдущий пример рассчитан на то, что вы установили драйвер и настроили подключение ODBC к бд для данного компьютера/пользоватреля (самый простой и надежный вариант).
Если вы хотите просто установить драйвер доступа к Ms SQL и подключение делать на лету, то смотрите сюда
http://egregors.blogspot.ru/2013/05/mysql-vba-excel-mysql.html
...
Рейтинг: 0 / 0
Подключение и запуск Аксесс-MySQL
    #39413505
kanan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Установил, подключается, но
при введении данных через интерфейс Аксесс 2003, связанный с MySQL текстовые данные записываются в человеческом виде, но в консоли HeidiSQL 9.3.0.4984 они отображаются абракадаброй.
И наоборот- то что импортировалось на сервер MySQL - -то в интерфейсе отображается абракадаброй.
Мне кажется-дело в кодировке.
прилагаю модуль, который соединяет Аксесс с MySQL
Option Compare Database
Option Explicit

Private Sub cmdConnect_Click()
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim rst As DAO.Recordset
Dim strServer As String
Dim strDB As String
Dim strTable As String
Dim strConnect As String
Dim strMsg As String

On Error GoTo HandleErr

' Build base authentication strings
Select Case Me.optAuthentication
' Windows/NT login
Case 1
strConnect = "ODBC;Driver={SQL Server};Trusted_Connection=Yes;"
' SQL server login
Case 2
strConnect = "ODBC;Driver={SQL Server};UID=" _
& Me.txtUser & ";PWD=" & Me.txtPwd & ";"
End Select

' Get rid of old links, if any
Call DeleteLinks

' Create recordset to obtain server, database and table names
Set db = CurrentDb
Set rst = db.OpenRecordset("tblSQLTables", dbOpenSnapshot)
If rst.EOF Then
strMsg = "There are no tables listed in tblSQLTables."
GoTo ExitHere
End If

' Walk through the recordset and create the links
Do Until rst.EOF
strServer = rst!SQLServer
strDB = rst!SQLDatabase
strTable = rst!SQLTable
' Create a new TableDef object
Set tdf = db.CreateTableDef(strTable)
' Set the Connect property to establish the link
tdf.Connect = strConnect & _
"Server=" & strServer & _
";Database=" & strDB & ";"
tdf.SourceTableName = strTable
' Append to the database's TableDefs collection
db.TableDefs.Append tdf
rst.MoveNext
Loop

strMsg = "Tables linked successfully."

rst.Close
Set rst = Nothing
Set tdf = Nothing
Set db = Nothing

ExitHere:
MsgBox strMsg, , "Link SQL Tables"
Exit Sub

HandleErr:
Select Case Err
Case Else
strMsg = Err & ": " & Err.Description
Resume ExitHere
End Select
End Sub

Private Sub DeleteLinks()
' Delete any leftover linked tables from a previous session

Dim tdf As DAO.TableDef

On Error GoTo HandleErr
For Each tdf In CurrentDb.TableDefs
With tdf
' Only delete SQL Server tables
If (.Attributes And dbAttachedODBC) _
= dbAttachedODBC Then
CurrentDb.Execute "DROP TABLE [" & tdf.Name & "]"
End If
End With
Next tdf

ExitHere:
Set tdf = Nothing
Exit Sub

HandleErr:
MsgBox _
Err & ": " & Err.Description, , _
"Error in DeleteLinks()"
Resume ExitHere
Resume
End Sub

Private Sub cmdExit_Click()
DoCmd.Close
End Sub

Private Sub Form_Load()
Call DeleteLinks
End Sub

Private Sub optAuthentication_AfterUpdate()

Select Case Me.optAuthentication
Case 1 ' NT authentication
Me.txtUser.Visible = False
Me.txtPwd.Visible = False

Case 2 ' SQL server authentication
Me.txtUser.Visible = True
Me.txtPwd.Visible = True
End Select
End Sub
...
Рейтинг: 0 / 0
Подключение и запуск Аксесс-MySQL
    #39413506
kanan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Подключение и запуск Аксесс-MySQL
    #39413572
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kananпри введении данных через интерфейс Аксесс 2003, связанный с MySQL текстовые данные записываются в человеческом виде, но в консоли HeidiSQL 9.3.0.4984 они отображаются абракадаброй.
И наоборот- то что импортировалось на сервер MySQL - -то в интерфейсе отображается абракадаброй.
Мне кажется-дело в кодировке.

Подсказка на картинке
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подключение и запуск Аксесс-MySQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]