Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 11336

Dúvida VBA - Pesquisa e Registo sem PROCV

$
0
0
Boas, não seria mais fácil criares uma tabela em Access, de onde irias ler os valores que pretendes, e atualizar os campos mais facilmente, mesmo que acedidos por Excel? Já há muito tempo que não uso isto, mas deixo-te aqui um exemplo que eu usava , possivelmente terás que atualizar o tipo de ligação (acho que já não é ADOBD), e no editor de Visual Basic tens de ir a tools, references e adicionares a referencia à versão de access que está na tua máquina, se pesquisares um bocado deverás encontrar exemplos melhores e mais atuais. Dim cn As Object, rs As Object DBFullName = "D:\OFICIOS\naomexer\Dados Autos.mdb" On Error GoTo Erro Dim comando As String 'procura o campo Nome na tabela NIF_Tabela que corresponde ao campo NIF, que foi inserido no campo niffiel do formulário comando = "SELECT NOME FROM NIF_Tabela WHERE NIF = '" & UserForm1.niffiel.Text & "'" Set cn = CreateObject("ADODB.Connection") cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & DBFullName & ";" Set rs = CreateObject("ADODB.Recordset") 'Set rs2 = CreateObject("ADODB.Recordset") rs.Open comando, cn, , , adCmdText nomefiel.Text = rs!nome LetsContinue: On Error Resume Next rs.Close Set rs = Nothing cn.Close Set cn = Nothing On Error GoTo 0 Exit Sub Erro: ' esta descrição do erro ia aparecer sempre que não houvesse morada 'MsgBox "Error Description :" & Err.Description & vbCrLf & _ "Error at line :" & Erl & vbCrLf & _ "Error Number :" & Err.Number Resume LetsContinue 'update dos campos Dim nif, nome, nif2, nome1 As String nif = Me.novonif.Value nif2 = Me.AlterarNif.Value nome1 = Me.novonome.Value comando = "UPDATE NIF_Tabela SET NIF='" & nif & "', NOME = '" & nome & "' WHERE NIF= '" & nif2 & "'" Este código estava inserido no evento Click de um botão. Para alterares valores na tabela é basicamente a mesma coisa, mas a instrução SQL tem que ser qualquer coisa como está no update dos campos. A parte do update é um código à parte, igual ao primeiro só com as alterações que deixo no fim. Esta é uma opção possível, no entanto deverão existir muitas mais, utilizando o código que tens. Boa sorte.

Viewing all articles
Browse latest Browse all 11336

Trending Articles