-
Conteúdo Similar
-
Por aluizs100
Olá.
Estou tentando localizar um código para conectar um banco de dados access utilizando o Visual Studio 12, porém só encontrei a com conexão direta via programa e eu queria fazer esta conexão via código.
alguém poderia me auxiliar em enviando esta rotina ou me indicando o local onde encontro.
Obrigado.
-
Por Pedro_Gomes
Sou estudante de Programação e nunca tinha usado VBA e tenho de entregar um trabalho, mas nunca tive formação nesta linguagem, e estou a ter problemas no programa na parte de Pesquisar registros com filtros, já tentei ao máximo fazer seguindo tutoriais na internet, até que uma pessoua me ajudou e mandou-me codia e disse para fazer um passos só que eu nao sei seguir esses passos.
Fico muito agradecido se alguém me conseguir ajudar.
O que a pessoa me indicou:
" Para testar o código coloque um filtro na planilha Dados no range A1:L1 e crie uma planilha com o nome de Auxiliar. Cole o código no formulário Pesquisar. "
Option Explicit Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 13 Then Call Filtro(TextBox1.Text, ComboBox1.Text) End Sub Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 13 Then Call Filtro(TextBox2.Text, ComboBox2.Text) End Sub Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 13 Then Call Filtro(TextBox3.Text, ComboBox3.Text) End Sub Private Sub UserForm_Initialize() ComboBox1.RowSource = "Relatório!A1:A12" ComboBox2.RowSource = "Relatório!A1:A12" ComboBox3.RowSource = "Relatório!A1:A12" End Sub Sub Filtro(ByVal Pesquisa As String, Campo As String) Dim Coluna As Integer Dim Area As Range Set Area = ThisWorkbook.Sheets("Dados").[A1:L1] Coluna = WorksheetFunction.Match(Campo, Area, 0) If Pesquisa <> "" Then If IsNumeric(Pesquisa) = False Then Pesquisa = "*" & Pesquisa & "*" Call Area.AutoFilter(Field:=Coluna, Criteria1:=Pesquisa) Call CopiaTabela Call PreencheListBox End If End Sub Sub CopiaTabela() ThisWorkbook.Sheets("Auxiliar").[A:L].Clear ThisWorkbook.Sheets("Dados").[A1].CurrentRegion.Copy ThisWorkbook.Sheets("Auxiliar").[A1].PasteSpecial xlPasteValues Application.CutCopyMode = False End Sub Sub PreencheListBox() Dim Area As Range Set Area = ThisWorkbook.Sheets("Auxiliar").[A1].CurrentRegion ListBox1.ColumnCount = Area.Columns.Count ListBox1.ColumnHeads = True ListBox1.RowSource = "Auxiliar!" & Area.Offset(1).Address End Sub Link do Programa:
https://drive.google.com/file/d/1ucJVL5Ijg0IcDqaFzoJi8aiMPb0NCbjI/view?usp=sharing
-
Por gereiz
Bom dia a todos. Adaptei um código para renomear vários arquivo com vba, que realiza a seguinte função:
1) Eu seleiono a pasta,
2) O VBA abre o PDF (Nota fiscal) , extrai a informação do texto e com a razão social fecha o pdf e renomeia ele com o nome extraido.
O problema é que após renomear o primeiro arquivo corretamente a execução do código trava, e é necessário finalizar o processo.
Segue abaixo o código.
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Public Function ListaArquivos(ByVal Caminho As String) As String() 'Atenção: Faça referência à biblioteca Micrsoft Scripting Runtime Dim FSO As New FileSystemObject Dim result() As String Dim Pasta As Folder Dim Arquivo As File Dim Indice As Long ReDim result(0) As String If FSO.FolderExists(Caminho) Then Set Pasta = FSO.GetFolder(Caminho) For Each Arquivo In Pasta.Files Indice = IIf(result(0) = "", 0, Indice + 1) ReDim Preserve result(Indice) As String result(Indice) = Arquivo.Name Next End If ListaArquivos = result ErrHandler: Set FSO = Nothing Set Pasta = Nothing Set Arquivo = Nothing End Function Private Sub selecionar_pasta() Dim box As Folder Dim arquivos() As String Dim lCtr As Long Dim AdobeApp As String Dim StartAdobe Dim Arquivo As String Dim NomeAntigo As String Dim NomeNovo As String On Error Resume Next linha = 1 ultima_linha = Sheets("teste").Cells(Rows.Count, 1).End(xlUp).Row With Application.FileDialog(msoFileDialogFolderPicker) .Title = "Buscar pasta" .InitialFileName = ThisWorkbook.Path .Show .AllowMultiSelect = False Pasta = .SelectedItems(1) End With TextBox1 = box arquivos = ListaArquivos(Pasta) Sleep 1000 For lCtr = 0 To UBound(arquivos) Debug.Print arquivos(lCtr) 'Inserir código aqui' 'Cells(linha, 1).Value = arquivos(lCtr) 'linha = (linha + 1) 'Sleep 500 pdf = arquivos(lCtr) AdobeApp = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" Sleep 2000 For Each pdf In Pasta Adobefile = Pasta & "\" & pdf StartAdobe = Shell("" & AdobeApp & " " & """" & Adobefile & """" & "", 1) Sleep 2000 Application.SendKeys ("^a") Application.SendKeys ("^c") Sleep 2000 Dim KillPdf As String KillPdf = "TASKKILL /F /IM AcroRd32.exe" Shell KillPdf, vbHide AppActivate Application.Caption Sheets("teste").Range("A1").Activate SendKeys ("^v") DoEvents Dim Razao As String Razao = Sheets("teste").Range("A17").Value pontos = InStr(1, Razao, ":") qtdeLetras = Len(Razao) Nome = Right(Razao, qtdeLetras - pontos) Sheets("teste").Range("C1").Value = Nome Do While Not IsEmpty(Range("C1")) NomeAntigo = Pasta & "\" & pdf NomeNovo = Pasta & "\" & Sheets("teste").Range("C1").Value & ".pdf" Sheets("teste").Range("C2").Value = Adobefile Sheets("teste").Range("C3").Value = Pasta & "\" & Sheets("teste").Range("C1").Value & ".pdf" Name NomeAntigo As NomeNovo ' DoEvents Loop ' MsgBox "Nomes dos arquivos alterados!", vbOKOnly, "Processo Concluído" Next Next ' MsgBox ("Arquivos Encontrados = ") & (linha - 1) End Sub Já tentei de tudo, e não consegui resolver esse problema, se eu remover o Do while, ele executa normalmente, porem não renomeia os arquivos. Seu eu faço esse laço, ele renomeia só o primeiro e trava geral.
Qualquer esclarecimento, agradeço.
-
Por thiago009
Sou novato na área, estou criando um site para praticar, o meu problema está na página contatos. O objetivo é que ele salve os dados do formulário num arquivo do access. Sei que não é o ideal, como estou começando na área, acho que é melhor aprender assim para depois estudar outras formas.
Criei um comando no SQL que intitulei de "grava", o nome do meu arquivo do access é "banco" e o html é contato.
Tentei também validar os campos com java, mas não deu certo e exclui os códigos que tinha colocado no início do html, se alguém puder me ajudar a fazer a validação.
Isso não é um trabalho, estou fazendo para aprender.
Segue link com os arquivos:
https://etecspgov-my.sharepoint.com/:f:/g/personal/thiago_cunha35_etec_sp_gov_br/EioK0B6ZHaNNlJ6zZWSXSfUB7PwxWfp-R5ulmqZOr1Hlpg?e=v51d7i
Agradeço quem puder ajudar,
Muito Obrigado.
-
Por thiago009
Fiz um site simples, contém um formulário de contato com o objetivo de salvar os dados preenchidos num banco do access, como estou aprendendo falaram que era melhor começar criando um banco no access, mas não consegui fazer com que o formulário salve lá.
Criei um código ASP para salvar os dados do formulário mas preciso de ajuda para conseguir
Coloquei o print dos códigos.
Alguém pode me ajudar a resolver esse problema?
<!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta charset="iso-8859-1" /> <link rel="stylesheet" type="text/css" href="css/estiloscontato.css"> <title>História da Informática</title> </head> <div class="menu"> <div class="collapse navbar-collapse navbar-right" id="myNavbar"> <ul class="nav navbar-nav"> <a href="index.html" target="principal">Home</a> <a href="historia.html" target="principal">História</a> <a href="evolucao.html" target="principal">Evolução</a> <a href="desvantagens.html" target="principal">Desvantagens</a> <a href="educacao.html" target="principal">Na educação</a> <a href="contato.html" target="principal">Contato</a> </ul> </div> </div> <div class="texto"> <body class="bg-color"> <!-- Estilos específicos de Seção --> <div id="conteudo" class="grupo" align=center> <p id="negrito"> <h1>Contato</h1> </p> <br> <p id="negrito">Entre em contato preenchendo o formulário abaixo:</p> <p name="contato"> <form name="f1" action="Contato" method="post"> <br> <fieldset> <br> <div class="campo"> <label for="nome">Nome</label> <input type="text" name="nome" id="nome"> </div> <br> <div class="campo"> <label for="email">E-mail</label> <input type="text" name="email" id="email"> <div> <br> <br><br> <!-- A PARTIR DESSA LINHA SÃO OS ""RADIO BUTTON"" --> <label>Departamento:</label> <label class="radio"> <input type="radio" name="departamento" value="suporte"> Suporte </label> <label class="radio"> <input type="radio" name="departamento" value="comercial"> Comercial </label> <label class="radio"> <input type="radio" name="departamento" value="conteudo"> Conteúdo </label> <div class="campo"> <p id="negrito"> </p> </div> <br> <!-- A PARTIR DESSA LINHA É O ""COMBO BOX"" --> <div class="assunto"> <p id="negrito"> <label for="assunto">Assunto<abbr title=!preenchimento obrigatório">*</abbr></label> <br> <select name="assunto"> <option>-- Selecione -- </option> <option value="duvidas">Dúvidas</option> <option value="solicitacoes">Solicitações</option> <option value="informacoes">Informações</option> <option value="outros">Outros</option> </select> </p> </div> <br><br> <!-- A PARTIR DESSA LINHA É O ""TEXTAREA"" --> <!-- <p id="negrito"> --> <div class="mensagem"> <p id="negrito"> <label id= "texto">Mensagem<abbr title=!preenchimento obrigatório">*</abbr></label> </p> <textarea name= "mensagem" rows="15" cols="80"></textarea> </div> <br> <br> <div class="botao"> <INPUT TYPE=SUBMIT VALUE="Enviar" align="center"> <INPUT TYPE=RESET VALUE="Apagar" align="center"> </div> </div> </p> </form> </body> <div class="bg-color"> </div> <br> </fieldset> </form> <footer class="rodape"> <small>Copyright © 2020</small> </footer> </body> </html> ESSE É O CÓDIGO ASP <% Dim objConn, strCaminho, nome, email, departamento, assunto, mensagem nome = Request.Form("nome") email = Request.Form("email") departamento = Request.Form("departamento") assunto = Request.Form("assunto") mensagem = Request.Form("mensagem") strCaminho = Server.MapPath("banco.mdb") Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strCaminho & ";" objConn.execute("Insert Into contato (nome, email, departamento, assunto, mensagem) Values ('"&nome, email, departamento, assunto, mensagem&"')") response.Write("Cadastrado com sucesso") objConn.Close %>
-