estou a tentar adaptar/conectar o meu formulario excel vba a uma bade de dados access.
existe alguma ajuda no net e ate aqui no forum, mas como estou a zero nesta materia, as vezes torna-se dificil adaptar os codigos que arranjo, visto o pessoal faz a conexao ao bando de dados de formas diferentes e codigos diferente.
Consegui arranjar uma forma de carregar as combobox do meu formulario com o codigo que envio abaixo:
Código: Selecionar todos
Sub CarregaDados_Manutencoes()
Dim Conn As ADODB.Connection
Dim rst, rst1 As ADODB.Recordset
Dim sql, sql1 As String
Set Conn = New ADODB.Connection
With Conn
.Provider = "Microsoft.ace.OLEDB.12.0"
.ConnectionString = "Data Source=" & ThisWorkbook.Path & "\Base_dados_Mapa_Viaturas.mdb"
.Open
End With
sql = "SELECT Estado FROM [Dados]"
Set rst = New ADODB.Recordset
With rst
.ActiveConnection = Conn
.Open sql, Conn, adOpenDynamic, _
adLockBatchOptimistic
End With
Do While Not rst.EOF
If Not IsNull(rst(0).Value) Then
UserForm_Menu.ComboBoxEstado.AddItem rst(0).Value
End If
rst.MoveNext
Loop
sql1 = "SELECT Matriculas FROM [Dados]"
Set rst1 = New ADODB.Recordset
With rst1
.ActiveConnection = Conn
.Open sql1, Conn, adOpenDynamic, _
adLockBatchOptimistic
End With
Do While Not rst1.EOF
If Not IsNull(rst1(0).Value) Then
UserForm_Menu.ComboBoxMatriculas.AddItem rst1(0).Value
End If
rst1.MoveNext
Loop
' Fecha o conjunto de registros.
Set rst = Nothing
Set rst1 = Nothing
' Fecha a conexão.
Conn.Close
End Sub
Código: Selecionar todos
Dim Conn As ADODB.Connection
Dim rst, rst1 As ADODB.Recordset
Dim sql, sql1 As String
Set Conn = New ADODB.Connection
With Conn
.Provider = "Microsoft.ace.OLEDB.12.0"
.ConnectionString = "Data Source=" & ThisWorkbook.Path & "\Base_dados_Mapa_Viaturas.mdb"
.Open
End With
sql = "SELECT Estado FROM [Dados]"
Set rst = New ADODB.Recordset
With rst
.ActiveConnection = Conn
.Open sql, Conn, adOpenDynamic, _
adLockBatchOptimistic
End With
Alguem do forum conseguia me ajudar a criar uma ligaçao para substituir a ligacao que este codigo tem e ser mais facil depois poder usar esse codigo para chamar a base de dados em outros codigos.
Obrigado