MSQL- NOVA ETAPA
Pessoal, vencà a primeira etapa graças a ajuda dos companheiros do Fórum.
Agora estou partindo para uma nova etapa.
Eu criei o meu banco de dados no Access da seguinte forma:
Em um módulo criei a conexão publica e também declarei os recordsets.
São aproximadamente 10 tabelas. O que mudará no módulo ? somente a string de conexão?
Obrigadão pessoal!
Agora estou partindo para uma nova etapa.
Eu criei o meu banco de dados no Access da seguinte forma:
Em um módulo criei a conexão publica e também declarei os recordsets.
São aproximadamente 10 tabelas. O que mudará no módulo ? somente a string de conexão?
Obrigadão pessoal!
sim somente a string de conexão
Valeu MARCELO-TREZE !
Vou tentar aquà e qualquer dúvida eu posto.
Vou tentar aquà e qualquer dúvida eu posto.
Olá colegas,
estou fazendo desta forma a conexão no Access. Como ficaria no mysqlserver ?
Dentro do Módulo:
(General)
[ô]conexão
Public dbDES As Adodb.Connection
[ô]recorsets
Public rsPROJ As Adodb.Recordset
[ô]conectar
Sub Conectar()
Set dbDES = CreateObject([Ô]ADODB.Connection[Ô])
dbDES.Open [Ô]Provider = Microsoft.Jet.OLEDB.4.0;Data Source = [Ô] & App.Path & [Ô]\dbDES.mdb;[Ô] [ô]Jet [Ô] & [Ô]OLEDB:Database Password=[Ô][Ô];[Ô]
Set rsPROJ = CreateObject([Ô]ADODB.Recordset[Ô])
rsPROJ.CursorLocation = adUseClient
End Sub
[ô]desconectar
Sub Desconectar()
On Error GoTo Erro
dbDES.Close
Erro:
If err.Number <> 0 Then
Exit Sub
End If
End Sub
[ô]-------------------------------------------------------------------
No form:
Sub GRAVAR()
Conectar
Set rsPROJ.ActiveConnection = dbDES
rsPROJ.Open [Ô]select * from DES_CADPROJ[Ô], dbDES, adOpenStatic, adLockOptimistic
rsPROJ.AddNew
rsPROJ.Fields([Ô]NUM_PROJ[Ô]) = cboCodigo.Text
rsPROJ.Fields([Ô]EMITENTE[Ô]) = cboEmitente.Text
rsPROJ.Update
MsgBox [Ô]Dados gravados com sucesso![Ô], vbInformation, [Ô]Gravar[Ô]
End Sub
Desde já agradeço!
estou fazendo desta forma a conexão no Access. Como ficaria no mysqlserver ?
Dentro do Módulo:
(General)
[ô]conexão
Public dbDES As Adodb.Connection
[ô]recorsets
Public rsPROJ As Adodb.Recordset
[ô]conectar
Sub Conectar()
Set dbDES = CreateObject([Ô]ADODB.Connection[Ô])
dbDES.Open [Ô]Provider = Microsoft.Jet.OLEDB.4.0;Data Source = [Ô] & App.Path & [Ô]\dbDES.mdb;[Ô] [ô]Jet [Ô] & [Ô]OLEDB:Database Password=[Ô][Ô];[Ô]
Set rsPROJ = CreateObject([Ô]ADODB.Recordset[Ô])
rsPROJ.CursorLocation = adUseClient
End Sub
[ô]desconectar
Sub Desconectar()
On Error GoTo Erro
dbDES.Close
Erro:
If err.Number <> 0 Then
Exit Sub
End If
End Sub
[ô]-------------------------------------------------------------------
No form:
Sub GRAVAR()
Conectar
Set rsPROJ.ActiveConnection = dbDES
rsPROJ.Open [Ô]select * from DES_CADPROJ[Ô], dbDES, adOpenStatic, adLockOptimistic
rsPROJ.AddNew
rsPROJ.Fields([Ô]NUM_PROJ[Ô]) = cboCodigo.Text
rsPROJ.Fields([Ô]EMITENTE[Ô]) = cboEmitente.Text
rsPROJ.Update
MsgBox [Ô]Dados gravados com sucesso![Ô], vbInformation, [Ô]Gravar[Ô]
End Sub
Desde já agradeço!
Substitua:
dbDES.Open [Ô]Provider = Microsoft.Jet.OLEDB.4.0;Data Source = [Ô] & App.Path & [Ô]\dbDES.mdb;[Ô] [ô]Jet [Ô] & [Ô]OLEDB:Database Password=[Ô][Ô];[Ô]
Por (algo como) isso:
dbDES.Open [Ô]Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=myDataBase; User=myUsername;Password=myPassword;Option=3;[Ô]
Claro, utilizando os dados da sua conexão... Tem que ter certeza também do driver de conexão que vc instalou... A string de conexão acima é para o driver versão 3.51, vc pode ver as strings de conexão para o mysql aqui
dbDES.Open [Ô]Provider = Microsoft.Jet.OLEDB.4.0;Data Source = [Ô] & App.Path & [Ô]\dbDES.mdb;[Ô] [ô]Jet [Ô] & [Ô]OLEDB:Database Password=[Ô][Ô];[Ô]
Por (algo como) isso:
dbDES.Open [Ô]Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=myDataBase; User=myUsername;Password=myPassword;Option=3;[Ô]
Claro, utilizando os dados da sua conexão... Tem que ter certeza também do driver de conexão que vc instalou... A string de conexão acima é para o driver versão 3.51, vc pode ver as strings de conexão para o mysql aqui
Maravilha KERPLUNK !
Está conectando belezinha.
Você tem um exemplo aà de popular uma combobox ? Pois desse jeito que estou fazendo, funciona bem para o Access:
Sub CAR_PACIENTES()
Conectar
Set rsPAC.ActiveConnection = dbM
rsPAC.Open [Ô]select * from tb_pacientes[Ô]
cboConsultar.Clear
Do While Not rsPAC.EOF
cboConsultar.AddItem rsPAC!NOME
rsPAC.MoveNext
Loop
End Sub
Valeu!
Está conectando belezinha.
Você tem um exemplo aà de popular uma combobox ? Pois desse jeito que estou fazendo, funciona bem para o Access:
Sub CAR_PACIENTES()
Conectar
Set rsPAC.ActiveConnection = dbM
rsPAC.Open [Ô]select * from tb_pacientes[Ô]
cboConsultar.Clear
Do While Not rsPAC.EOF
cboConsultar.AddItem rsPAC!NOME
rsPAC.MoveNext
Loop
End Sub
Valeu!
é a mesma coisa... Esse mesmo código deve funcionar para MySQL também. Mas caso não funcione, use:
cboConsultar.AddItem rsPAC.Fields([Ô]NOME[Ô])
cboConsultar.AddItem rsPAC.Fields([Ô]NOME[Ô])
KERPLUNK percebà o seguinte. O sistema pausa justamente no recordset neste ponto:
Set rsPAC.ActiveConnection = dbM [ô] <<< Ele para aquÃ.
Pergunta: Quando se instala o MYSQL SERVER, o conector ODBC é instalado automaticamente não, ou tenho de instalar separadamente ? Quando rodo o sistema, nenhum problema ocorre na string de conexão. Ou estou enganado?
Valeu !!!
Set rsPAC.ActiveConnection = dbM [ô] <<< Ele para aquÃ.
Pergunta: Quando se instala o MYSQL SERVER, o conector ODBC é instalado automaticamente não, ou tenho de instalar separadamente ? Quando rodo o sistema, nenhum problema ocorre na string de conexão. Ou estou enganado?
Valeu !!!
KERPLUNK, este é o erro que está ocorrendo:
Bom, a mensagem é bem clara... ao tentar abrir um recordset a conexão está fechada...
só para testar, faça a alteração apresentada abaixo, uma coisa deve ser muito clara, se vc for usar o banco em rede, tente conecta-lo no load do form principal e desconecta-lo no unload do form principal.
Sub CAR_PACIENTES()
[txt-color=#0000f0]If dbDES.State = 1 then dbDES.Close[/txt-color]
Conectar
Set rsPAC.ActiveConnection = dbM
rsPAC.Open [Ô]select * from tb_pacientes[Ô]
cboConsultar.Clear
Do While Not rsPAC.EOF
cboConsultar.AddItem rsPAC!NOME
rsPAC.MoveNext
Loop
End Sub
se vc ficar abrindo e fechando a conexãoa cada consulta, isso vai tornar o processo mais lento.
Sub CAR_PACIENTES()
[txt-color=#0000f0]If dbDES.State = 1 then dbDES.Close[/txt-color]
Conectar
Set rsPAC.ActiveConnection = dbM
rsPAC.Open [Ô]select * from tb_pacientes[Ô]
cboConsultar.Clear
Do While Not rsPAC.EOF
cboConsultar.AddItem rsPAC!NOME
rsPAC.MoveNext
Loop
End Sub
se vc ficar abrindo e fechando a conexãoa cada consulta, isso vai tornar o processo mais lento.
Tópico encerrado , respostas não são mais permitidas