Fórum Excel Bácico, Avançado e Vba
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  Últimas imagensÚltimas imagens  ProcurarProcurar  RegistarRegistar  Entrar  

 

 Macro que execute pesquisa no SQL de acordo com datas inseridas no excel

Ir para baixo 
2 participantes
AutorMensagem
sap




Mensagens : 7
Data de inscrição : 06/08/2014

Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Empty
MensagemAssunto: 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 EmptyQua 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)
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Empty
MensagemAssunto: 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 EmptyQua 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
Ir para o topo Ir para baixo
sap




Mensagens : 7
Data de inscrição : 06/08/2014

Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Empty
MensagemAssunto: 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 EmptyQui 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)
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Empty
MensagemAssunto: 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 EmptyQui Ago 07, 2014 2:01 pm

Bom dia!!

Eu vou continuar esperando o arquivo!

Att Rolling Eyes 
Ir para o topo Ir para baixo
sap




Mensagens : 7
Data de inscrição : 06/08/2014

Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Empty
MensagemAssunto: 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 EmptyQui Ago 07, 2014 2:56 pm

alexandrevba escreveu:
Bom dia!!

Eu vou continuar esperando o arquivo!

Att Rolling Eyes 

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,
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Empty
MensagemAssunto: 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 EmptyQui 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
Ir para o topo Ir para baixo
sap




Mensagens : 7
Data de inscrição : 06/08/2014

Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Empty
MensagemAssunto: 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 EmptySeg 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
Ir para o topo Ir para baixo
sap




Mensagens : 7
Data de inscrição : 06/08/2014

Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Empty
MensagemAssunto: 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 EmptySeg 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.
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Empty
MensagemAssunto: 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 EmptySeg 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
Ir para o topo Ir para baixo
sap




Mensagens : 7
Data de inscrição : 06/08/2014

Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Empty
MensagemAssunto: 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 EmptySeg 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,
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Empty
MensagemAssunto: 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 EmptySeg Ago 11, 2014 7:33 pm

Boa tarde!!

Eu sinto em não poder te ajudar Crying or Very sad 

Pois eu estou tendo resultado positivo.

Att
Ir para o topo Ir para baixo
sap




Mensagens : 7
Data de inscrição : 06/08/2014

Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Empty
MensagemAssunto: 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 EmptyQui Ago 21, 2014 12:54 pm

alexandrevba escreveu:
Boa tarde!!

Eu sinto em não poder te ajudar Crying or Very sad 

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 Wink

Cumps,
Ir para o topo Ir para baixo
Conteúdo patrocinado





Macro que execute pesquisa no SQL de acordo com datas inseridas no excel Empty
MensagemAssunto: 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 Empty

Ir para o topo Ir para baixo
 
Macro que execute pesquisa no SQL de acordo com datas inseridas no excel
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» Abrir Excel de acordo com IP
» pesquisa vba/excel
» Ajuda com Pesquisa+Listbox no Excel/VBA
» Como traduzir uma pesquisa em planilha do excel?
» MACRO QUE COPIA DADOS PARA OUTRA PLANILHA DE ACORDO COM A DATA

Permissões neste sub-fórumNão podes responder a tópicos
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: