| Macro que execute pesquisa no SQL de acordo com datas inseridas no excel | |
|
|
Autor | Mensagem |
---|
sap
Mensagens : 7 Data de inscrição : 06/08/2014
| Assunto: Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Qua Ago 06, 2014 4:40 pm | |
| Boa tarde,
Estou com uma duvida...Tenho um ficheiro Excel com 3 folhas:
Dados - Contém os dados da query SQL(ligação servidor)
Data Final - Tenho 2 campos p/ preenchimento: data inicio e data fim. Pretendo que vá buscar aos dados da query todas as linhas em que a coluna(data) <= campo(excel) data fim.
Inicio do Mês - Pretendo que vá buscar todas as linhas em que a coluna data >= Inicio do Mês. O inicio do mês entende-se pelo mês entre a data inicio e data fim, por ex: entre 05-08-2014 e 06-08-2014,devolva todas as linhas que em que a data <= 01-08-2014.
Tenho um ficheiro de exemplo com os campos todos...Alguém pode me dar uma "luz", inicialmente comecei a fazer somente no excel mas depois percebendo o tamanho da base de dados desisti...teria que colocar formulas em 10000000 linhas hehehehehe, penso que por macro será mais fiável mas não sei como :s
Segue o ficheiro exemplo:
*http***w*w*w*4shared*com*file*rNQFO7iWba*exemplo**html*
Cumps,
Última edição por sap em Qua Ago 06, 2014 4:56 pm, editado 1 vez(es) | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Qua Ago 06, 2014 4:49 pm | |
| Bom dia!!
Poste seu arquivo modelo!!!
Use um site gratuito como sendspace ou outros, depois poste seu link aqui.
Caso não tenha permissão para postar use uma mascara para querbrar o link (w*w*w.send*space.com)
Att | |
|
| |
sap
Mensagens : 7 Data de inscrição : 06/08/2014
| Assunto: Re: Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Qui Ago 07, 2014 1:23 pm | |
| - sap escreveu:
- Boa tarde,
Estou com uma duvida...Tenho um ficheiro Excel com 3 folhas:
Dados - Contém os dados da query SQL(ligação servidor)
Data Final - Tenho 2 campos p/ preenchimento: data inicio e data fim. Pretendo que vá buscar aos dados da query todas as linhas em que a coluna(data) <= campo(excel) data fim.
Inicio do Mês - Pretendo que vá buscar todas as linhas em que a coluna data >= Inicio do Mês. O inicio do mês entende-se pelo mês entre a data inicio e data fim, por ex: entre 05-08-2014 e 06-08-2014,devolva todas as linhas que em que a data <= 01-08-2014.
Tenho um ficheiro de exemplo com os campos todos...Alguém pode me dar uma "luz", inicialmente comecei a fazer somente no excel mas depois percebendo o tamanho da base de dados desisti...teria que colocar formulas em 10000000 linhas hehehehehe, penso que por macro será mais fiável mas não sei como :s
Segue o ficheiro exemplo:
*http***w*w*w*4shared*com*file*rNQFO7iWba*exemplo**html*
Cumps, Comecei a fazer o código mas há qualquer coisa que estou fazendo errado, só está a preencher o cabeçalho dos campos... Criei uma folha(scr_hcurso), onde coloquei os dados do servidor e a instrução sql, a folha Horas CursoDataFinal é a folha que recebe os dados. Segue o ficheiro... w*w*w.4shared.com/file/GPnQ3OPdce/exemplo*html
Última edição por sap em Qui Ago 07, 2014 2:55 pm, editado 1 vez(es) | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Qui Ago 07, 2014 2:01 pm | |
| Bom dia!! Eu vou continuar esperando o arquivo! Att | |
|
| |
sap
Mensagens : 7 Data de inscrição : 06/08/2014
| Assunto: Re: Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Qui Ago 07, 2014 2:56 pm | |
| - alexandrevba escreveu:
- Bom dia!!
Eu vou continuar esperando o arquivo!
Att Bom dia, Distraída...desc postei ontem e não postei o de hoje atualizado....Segue o link w*w*w.4shared.com/file/AQJmInsoba/exemplo*HTML Ficheiro atualizado * cump, | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Qui Ago 07, 2014 7:15 pm | |
| Boa tarde!! Você vai precisar copiar para outra guia? - Código:
-
Public Sub AleVBA_850() Dim lngStart As Long, lngEnd As Long lngStart = Range("C2").Value lngEnd = Range("C3").Value Range("A4:F1000").AutoFilter field:=3, _ Criteria1:=">=" & lngStart, _ Operator:=xlAnd, _ Criteria1:="<=" & lngEnd End Sub Att | |
|
| |
sap
Mensagens : 7 Data de inscrição : 06/08/2014
| Assunto: Re: Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Seg Ago 11, 2014 12:02 pm | |
| Bom dia;
Desculpa responder só agora...entretanto acabei avançando de outra maneira mas ainda tenho problema no código, por alguma razão só está a buscar os cabeçalhos:
Segue o ficheiro exemplo e o código que estou utilizando.
w*w*w.4shared.com/file/XElbJkNEce/exemplo.html
Sub macro ()
Sheets("scr_hcurso").Select ' seleciona data da da celula H2 da folha scr_hcurso e copia para a celula B13 da mesma folha Range("H2").Select Selection.Copy Range("B13").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Range("A3").Select Sheets("HorCursoFinal").Select
Sheets("HorCursoFinal").Select
Dim srv As String Dim db As String ' nome do bd Dim idu As String Dim pw As String Dim cod1 As String ' cod1 ao cod7 é a instrução sql Dim cod2 As String Dim cod3 As String Dim cod4 As String Dim cod5 As String Dim cod6 As String Dim cod7 As String ' data inserida pelo utilizador Dim nome As String Dim rg As String
' seleciona os campos da folha scr_hcurso srv = Sheets("scr_hcurso").Range("srv").Value db = Sheets("scr_hcurso").Range("db").Value idu = Sheets("scr_hcurso").Range("idu").Value pw = Sheets("scr_hcurso").Range("pw").Value cod1 = Sheets("scr_hcurso").Range("cod1").Value cod2 = Sheets("scr_hcurso").Range("cod2").Value cod3 = Sheets("scr_hcurso").Range("cod3").Value cod4 = Sheets("scr_hcurso").Range("cod4").Value cod5 = Sheets("scr_hcurso").Range("cod5").Value cod6 = Sheets("scr_hcurso").Range("cod6").Value cod7 = Sheets("scr_hcurso").Range("cod7").Value nome = Sheets("scr_hcurso").Range("nome").Value rg = Sheets("scr_hcurso").Range("rg").Value
Sheets("HorCursoFinal").Select Range("A1").Select Range(rg).Select Cells.Select Selection.ClearContents Selection.QueryTable.Delete With ActiveSheet.QueryTables.Add(Connection:= _ "ODBC;DRIVER=SQL Server;SERVER=" & srv & ";UID=" & idu & ";PWD=" & pw & ";APP=Microsoft® Query;WSID=" & srv & ";DATABASE=" & db & "" _ , Destination:=Range(rg)) .CommandText = Array( _ cod1 _ , cod2 _ , cod3 _ , cod4 _ , cod5 _ , cod6 _ , cod7) .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = True .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .Refresh BackgroundQuery:=True
End With Range("A3").Select End Sub | |
|
| |
sap
Mensagens : 7 Data de inscrição : 06/08/2014
| Assunto: Re: Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Seg Ago 11, 2014 3:56 pm | |
| - alexandrevba escreveu:
- Boa tarde!!
Você vai precisar copiar para outra guia?
- Código:
-
Public Sub AleVBA_850() Dim lngStart As Long, lngEnd As Long lngStart = Range("C2").Value lngEnd = Range("C3").Value Range("A4:F1000").AutoFilter field:=3, _ Criteria1:=">=" & lngStart, _ Operator:=xlAnd, _ Criteria1:="<=" & lngEnd End Sub Att Reproduzi o seu código(alterando p/ string) mas está a filtrar somente 2 linhas, a ideia é que busque todas as linhas entre datas, só está a devolver uma. | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Seg Ago 11, 2014 5:25 pm | |
| Bom dia!! Eu refiz os testes tente assim. - Código:
-
Sub AleVBA_850V2() Dim lngStart As Long Dim lngEnd As Long Dim dateRange As Range lngStart = Range("C2").Value lngEnd = Range("C3").Value Set dateRange = Range("A5:F1000") dateRange.Autofilter field:=3, _ Criteria1:=">=" & lngStart, _ Operator:=xlAnd, _ Criteria2:="<=" & lngEnd
End Sub Outra coisa, a busca está sendo considerada valores, não formulas!!! Att | |
|
| |
sap
Mensagens : 7 Data de inscrição : 06/08/2014
| Assunto: Re: Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Seg Ago 11, 2014 6:39 pm | |
| - alexandrevba escreveu:
- Bom dia!!
Eu refiz os testes tente assim. - Código:
-
Sub AleVBA_850V2() Dim lngStart As Long Dim lngEnd As Long Dim dateRange As Range lngStart = Range("C2").Value lngEnd = Range("C3").Value Set dateRange = Range("A5:F1000") dateRange.Autofilter field:=3, _ Criteria1:=">=" & lngStart, _ Operator:=xlAnd, _ Criteria2:="<=" & lngEnd
End Sub Outra coisa, a busca está sendo considerada valores, não formulas!!! Att Oi Alexandre, Agradeço a ajuda mas infelizmente não resultou, vou tentar que o critério seja inserido na query(conforme o código acima). Cump, | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Seg Ago 11, 2014 7:33 pm | |
| Boa tarde!! Eu sinto em não poder te ajudar Pois eu estou tendo resultado positivo. Att | |
|
| |
sap
Mensagens : 7 Data de inscrição : 06/08/2014
| Assunto: Re: Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Qui Ago 21, 2014 12:54 pm | |
| - alexandrevba escreveu:
- Boa tarde!!
Eu sinto em não poder te ajudar
Pois eu estou tendo resultado positivo.
Att Boas, Descobri o problema...estava no formato da data mas o seu código funciona na perfeição, muito obrigada Cumps, | |
|
| |
Conteúdo patrocinado
| Assunto: Re: Macro que execute pesquisa no SQL de acordo com datas inseridas no excel | |
| |
|
| |
| Macro que execute pesquisa no SQL de acordo com datas inseridas no excel | |
|