Ir para conteúdo
Fórum Script Brasil

gaspar.gualves

Membros
  • Total de itens

    9
  • Registro em

  • Última visita

Sobre gaspar.gualves

Perfil

  • Gender
    Male

gaspar.gualves's Achievements

0

Reputação

  1. Fala Galera, To com um problema em um codigo que eu tinha feito pra carregar as planilhas de um diretorio pra uma tabela em um banco de dados access. Sou novato em vba, pra falar a verdade não entendo quase nada do meu proprio codigo (pois só completei ele com algumas informações). Meu problema tem sido com o Application.FileSearch que não funciona, li na internet que foi descontinuado, e tentei aplicar alguns codigos sem sucesso. Gostaria de saber se tem alguma alternativa pro comando no vba no meu codigo: Function CargaImpact() Set fs = Application.FileSearch Dim strQry As String Dim myRec As DAO.Recordset Dim dbExcel As DAO.Database Dim rsExcel As DAO.Recordset Set myRec = CurrentDb.OpenRecordset("Pesquisa") fs.LookIn = "G:\AMGERAL\office2007\pesquisa" fs.Execute fs.FileName = "*.*" MsgBox fs.FoundFiles.Count For i = 1 To fs.FoundFiles.Count Set dbExcel = OpenDatabase(fs.FoundFiles(i), False, True, "Excel 8.0; HDR=YES;") Set rsExcel = dbExcel.OpenRecordset("Sheet1$") Do While Not rsExcel.EOF myRec.AddNew 'INFORMAÇÕES PESSOAIS 'Nome rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext myRec.Fields("Nome") = rsExcel.Fields("f2").Value rsExcel.MoveLast 'Telefone rsExcel.MoveFirst rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext myRec.Fields("Tel") = rsExcel.Fields("f2") rsExcel.MoveLast 'Email rsExcel.MoveFirst rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext myRec.Fields("email") = rsExcel.Fields("f2") rsExcel.MoveLast myRec.Update rsExcel.MoveNext Loop Next i End Function Agradeço a anteção, e se alguém puder me indicar algum livro de vba para iniciantes (Muito iniciantes haha) eu agradeço. Abraços
  2. Opa, Deu certo cara, consegui até fazer um critério mais complexo, usando um valor de outro formulario como filtro. Na tela da consulta, no campo de critérios coloquei uma sintaxe parecida com essa: "=[Formulario]![NomeDoFormulario]![Valor]" Dai a consulta pega o valor e usa como critério de filtro, claro que o formulario referenciado tem que estar aberto, e esse registro deve existir. Brigadão mais uma vez
  3. Boa Tarde Galera, Estou com um banco de dados com duas tabelas de relação (1:n), e em um formulario estou tentado criar uma caixa de combinação que contenha apenas valores filtrados pelo id do registro da tabela mãe, por exemplo: Estes são meus registros relacionados: Id tabela mãe | id tabela filho 1 | 1 2 | 2 1 | 3 2 | 4 E eu gostaria que a minha caixa de combinação mostrasse apenas os id's da tabela filho que fossem pertencentes ao registro "1" da tabela mãe: Id tabela mãe | id tabela filho 1 | 1 1 | 3 Existe algum recurso no Access 2007 que consiga fazer esse tipo de coisa? Agradeço desde já a atenção
  4. Resolvi me problema cara, mas foi pela interface grafica mesmo, ao invés de criar um formulario livre, criei um formulario vinculado a uma tabela, e com isso a opção de scroll cria uma alternativa de "Criar scroll de controle de formulario"( ou algo do tipo), e isso resolveu meu problema... Agradeço a Anteção cara
  5. Olá Pessoal, Tenho uma duvida, eu tenho um formulario simples no access que possui informações de duas tabelas relacionadas. E estou tentando fazer um formulario de consulta dos valores e o controle que estou usando é um menu de scroll, só qeu não consigo fazer este formulario puxar os valores do item que eu seleciono no scroll. Por exemplo ao selecionar o item no menu scroll que eu desejo, os campos abaixo (tanto da tabela 1 quanto da tabela relacionada) mostram esses valores, usando um termo um pouco melhor usar esse menu scroll como navegação de registros. Grato desde já Ps: estou usando o office 2007
  6. Valeu cara... consegui resolver por aqui... vou postar o codigo caso alguém tenha a mesma duvida que eu : Function CargaImpact() Set fs = Application.FileSearch Dim strQry As String Dim myRec As DAO.Recordset Dim dbExcel As DAO.Database Dim rsExcel As DAO.Recordset Set myRec = CurrentDb.OpenRecordset("Pesquisa") fs.LookIn = "G:\AMGERAL\office2007\pesquisa" fs.Execute fs.FileName = "*.*" MsgBox fs.FoundFiles.Count For i = 1 To fs.FoundFiles.Count Set dbExcel = OpenDatabase(fs.FoundFiles(i), False, True, "Excel 8.0; HDR=YES;") Set rsExcel = dbExcel.OpenRecordset("Sheet1$") Do While Not rsExcel.EOF myRec.AddNew 'INFORMAÇÕES PESSOAIS 'Nome rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext rsExcel.MoveNext myRec.Fields("Nome") = rsExcel.Fields("f2").Value rsExcel.MoveLast myRec.Update 'Read records and process data rsExcel.MoveNext Loop Next i End Function Explicando um pouco melhor: o que eu fiz foi referenciar por coluna ("f2") e apartir dai ir 'descendo' até a celula que eu queria que ele pegasse (rsExcel.MoveNext), e por fim indo para ultima celula, para evitar que o access armazenasse valores de outras celulas, pois o comando myRec.Fields("Nome") = rsExcel.Fields("f2").Value armazena todas as celulas da coluna. Importante dizer que por padrão o excel nomeia as colunas com: F1 = COLUNA 1 , F2 = COLUNA 2 , e por ai vai.... Provavelmente deve haver alguma referencia padrão para linhas no excel, que deixe o codigo com menos cara de gambiarra que o meu haha, mas eu não encontrei, fica ai a dica. Obrigado novamente.
  7. Cara, Ta dificil... num to achando nada, eu pesquisei mais um poucoe descobri que uma macro no access também serve, não precisa ser necessariamente VBA, só que eu não faço ideia de como fazer essa macro, se alguém puder me ajudar :/... Eu quero pegar valores de determinadas celulas em arquivos excel, e passar para o access. Essas celular não tem nomes, seria referenciando pelo numero dela, exemplo : A1, ou coluna 1 linha 1. Eu já tenho os campos do access feito, não precisaria de nem um codigo pra criar campos ou coisa do tipo, o que eu quero é mais exatamente isso : (access)Nome <- (recebe) A1 A tabela final ficaria mais ou menos assim: Nome José Maria (e por ai vai.. com a macro adicionando masi nomes na tabela) E são mais de um arquivo de excel que eu tenho que fazer isso... eu gostaria de pegar todos os arquivos de excel de uma determinada pasta. Por favorrr AJUDEEM, to desesperado :/
  8. Olá pessoal, Eu estou tentando fazer um script em VBA no qual eu importo determinados valores de celulas (Strings) no Excel para meu banco de dados Access. Tive dificuldade para achar esse tipo de codigo... e consegui um que chega proximo do que eu quero, mas nesse codigo ele busca por referencia a nomes de celulas no Excel (não tenho certeza). Vi também que existem comandos como Range("").Value e Cells(1,1).Value que fazem exatamente o que eu preciso... mas eu infelizmente não sei como aplica-los no meu codigo. Segue meu codigo : Function CargaImpact() Set fs = Application.FileSearch Dim strQry As String Dim myRec As DAO.Recordset Dim dbExcel As DAO.Database Dim rsExcel As DAO.Recordset Set myRec = CurrentDb.OpenRecordset("Pesquisa") fs.LookIn = "C:\Documents and Settings\galves\My Documents\Projeto Office\Pesquisas" fs.Execute fs.FileName = "*.*" MsgBox fs.FoundFiles.Count For i = 1 To fs.FoundFiles.Count Set dbExcel = OpenDatabase(fs.FoundFiles(i), False, True, "Excel 8.0; HDR=YES;") Set rsExcel = dbExcel.OpenRecordset("Sheet1$") Do While Not rsExcel.EOF myRec.AddNew myRec.Fields("Incident ID") = rsExcel.Fields("Incident ID") myRec.Fields("day") = Day(rsExcel.Fields("Open Time")) myRec.Fields("month") = Month(rsExcel.Fields("Open Time")) myRec.Fields("hour") = Hour(rsExcel.Fields("Open Time")) myRec.Fields("Contact") = rsExcel.Fields("Contact") myRec.Fields("Location") = rsExcel.Fields("Location") myRec.Fields("Description") = Left(rsExcel.Fields("Brief Description"), 254) myRec.Fields("Opened By") = rsExcel.Fields("Opened By") myRec.Fields("CI") = rsExcel.Fields("CI Name") myRec.Fields("auto") = rsExcel.Fields("Automated (excl Resolved)") myRec.Fields("Problem Status") = rsExcel.Fields("Problem Status") myRec.Fields("Status") = rsExcel.Fields("Status") myRec.Fields("file") = fs.FoundFiles(i) myRec.Update 'Read records and process data rsExcel.MoveNext Loop Next i End Function Obrigado desde já pela atenção, Aguardo Respostas.
  9. Olá pessoal, Eu estou tentando fazer um script em VBA no qual eu importo determinados valores de celulas (Strings) no Excel para meu banco de dados Access. Tive dificuldade para achar esse tipo de codigo... e consegui um que chega proximo do que eu quero, mas nesse codigo ele busca por referencia a nomes de celulas no Excel (não tenho certeza). Vi também que existem comandos como Range("").Value e Cells(1,1).Value que fazem exatamente o que eu preciso... mas eu infelizmente não sei como aplica-los no meu codigo. Segue meu codigo : Function CargaImpact() Set fs = Application.FileSearch Dim strQry As String Dim myRec As DAO.Recordset Dim dbExcel As DAO.Database Dim rsExcel As DAO.Recordset Set myRec = CurrentDb.OpenRecordset("Pesquisa") fs.LookIn = "C:\Documents and Settings\galves\My Documents\Projeto Office\Pesquisas" fs.Execute fs.FileName = "*.*" MsgBox fs.FoundFiles.Count For i = 1 To fs.FoundFiles.Count Set dbExcel = OpenDatabase(fs.FoundFiles(i), False, True, "Excel 8.0; HDR=YES;") Set rsExcel = dbExcel.OpenRecordset("Sheet1$") Do While Not rsExcel.EOF myRec.AddNew myRec.Fields("Incident ID") = rsExcel.Fields("Incident ID") myRec.Fields("day") = Day(rsExcel.Fields("Open Time")) myRec.Fields("month") = Month(rsExcel.Fields("Open Time")) myRec.Fields("hour") = Hour(rsExcel.Fields("Open Time")) myRec.Fields("Contact") = rsExcel.Fields("Contact") myRec.Fields("Location") = rsExcel.Fields("Location") myRec.Fields("Description") = Left(rsExcel.Fields("Brief Description"), 254) myRec.Fields("Opened By") = rsExcel.Fields("Opened By") myRec.Fields("CI") = rsExcel.Fields("CI Name") myRec.Fields("auto") = rsExcel.Fields("Automated (excl Resolved)") myRec.Fields("Problem Status") = rsExcel.Fields("Problem Status") myRec.Fields("Status") = rsExcel.Fields("Status") myRec.Fields("file") = fs.FoundFiles(i) myRec.Update 'Read records and process data rsExcel.MoveNext Loop Next i End Function Obrigado desde já pela atenção, Aguardo Respostas.
×
×
  • Criar Novo...