SQL-INTERVALO DE DATAS E IDFORNECEDOR

 Tópico anterior Próximo tópico Novo tópico

SQL-INTERVALO DE DATAS E IDFORNECEDOR

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#474029 - 17/05/2017 20:44:24

JOHNSTEVE
COSMOPOLIS-SP
Cadast. em:Janeiro/2016


Boa noite galera, estou com problema no meu SQL. alguem pode me dar uma dica ?

Ja tentei assim
  sql = "SELECT Compras.[codigo], Compras.[modelo], Compras.[serie], Compras.[NumeroNotaFiscal], Compras.[ChaveNFe], Compras.[DataEmissao], Compras.[DataEntrada], Compras.[Valor_Total_Nota], Compras.[Vrl_Total_Produto], Compras.[Vlr_Total_Desconto], Compras.[Vlr_Total_Frete], Compras.[Vlr_Total_Seguro], Compras.[Vlr_Total_OutrasDesp], Compras.[Vlr_total_bsCal_icms], Compras.[Vlr_total_vlr_icms], Compras.[Vlr_total_bsCal_icmsST], Compras.[modFrete], Compras.[Vlr_total_vlr_icmsST], Compras.[Vlr_total_IPI], Compras.[Indicador_Pagamento] FROM Compras WHERE DataEntrada between" & mskDIni.Value.Date & "AND" & mskDFim.Value.Date & "order by Compras.codigo=?"


tbm assim
  sql = "SELECT Compras.[codigo], Compras.[modelo], Compras.[serie], Compras.[NumeroNotaFiscal], Compras.[ChaveNFe], Compras.[DataEmissao], Compras.[DataEntrada], Compras.[Valor_Total_Nota], Compras.[Vrl_Total_Produto], Compras.[Vlr_Total_Desconto], Compras.[Vlr_Total_Frete], Compras.[Vlr_Total_Seguro], Compras.[Vlr_Total_OutrasDesp], Compras.[Vlr_total_bsCal_icms], Compras.[Vlr_total_vlr_icms], Compras.[Vlr_total_bsCal_icmsST], Compras.[modFrete], Compras.[Vlr_total_vlr_icmsST], Compras.[Vlr_total_IPI], Compras.[Indicador_Pagamento] FROM Compras WHERE DataEntrada between @datainicial and @datafinal order by Compras.codigo=?"


nesse For. é onde q quero trazer o resultado do Filtro. pela data inicial e data Final e o ID do fornecedor
   For j = 0 To Dgv_Fornecedor_Bloco0150.Rows.Count - 1
                            SQL aqui >>

                            cmd = New OleDbCommand(sql, con)
                            cmd.Parameters.Add(New OleDb.OleDbParameter("@codigo", Dgv_Fornecedor_Bloco0150.Rows(j).Cells("CodigoFornecedor").Value.ToString()))


                            dr = cmd.ExecuteReader
                            If dr.HasRows Then
                                dr.Read()

                                If Not IsDBNull(dr.Item("codigo")) Then COD_PART = dr.Item("codigo")
                                COD_PART = Format(CInt(COD_PART), "00000")
                                COD_PART = "F" & COD_PART
                                If Not IsDBNull(dr.Item("modelo")) Then COD_MOD = dr.Item("modelo")
                                If Not IsDBNull(dr.Item("serie")) Then SER = dr.Item("serie")
                              
                            End If
                        Next




Resposta escolhida #474031 - 17/05/2017 21:00:05

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Cara, que confusão, não pela query ser longa, mas você está totalmente confuso quanto à o que são parâmetros...

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#474032 - 17/05/2017 21:06:39

JOHNSTEVE
COSMOPOLIS-SP
Cadast. em:Janeiro/2016


Kerplunk, então eu tenho como parametros para fazer a consulta

   cmd.Parameters.AddWithValue("@datainicial", mskDIni.Value.Date)
                            cmd.Parameters.AddWithValue("@datafinal", mskDFim.Value.Date)
                            cmd.Parameters.Add(New OleDb.OleDbParameter("@CodigoFornecedor", Dgv_Fornecedor_Bloco0150.Rows(j).Cells("CodigoFornecedor").Value.ToString()))
                            



acabei de mudar aqui o SQL, porem so esta me retornando os dados repetidos.

  sql = "SELECT Compras.[codigo], Compras.[modelo], Compras.[serie], Compras.[NumeroNotaFiscal], Compras.[ChaveNFe], Compras.[CodigoFornecedor], Compras.[DataEmissao], Compras.[DataEntrada], Compras.[Valor_Total_Nota], Compras.[Vrl_Total_Produto], Compras.[Vlr_Total_Desconto], Compras.[Vlr_Total_Frete], Compras.[Vlr_Total_Seguro], Compras.[Vlr_Total_OutrasDesp], Compras.[Vlr_total_bsCal_icms], Compras.[Vlr_total_vlr_icms], Compras.[Vlr_total_bsCal_icmsST], Compras.[modFrete], Compras.[Vlr_total_vlr_icmsST], Compras.[Vlr_total_IPI], Compras.[Indicador_Pagamento] FROM Compras WHERE DataEntrada between @datainicial and @datafinal and CodigoFornecedor"




#474033 - 17/05/2017 21:08:23

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
CodigoFornecedor está na query, mas está sem parâmetro. deveria ser:

  sql = "SELECT Compras.[codigo], Compras.[modelo], Compras.[serie], Compras.[NumeroNotaFiscal], Compras.[ChaveNFe], Compras.[CodigoFornecedor], Compras.[DataEmissao], Compras.[DataEntrada], Compras.[Valor_Total_Nota], Compras.[Vrl_Total_Produto], Compras.[Vlr_Total_Desconto], Compras.[Vlr_Total_Frete], Compras.[Vlr_Total_Seguro], Compras.[Vlr_Total_OutrasDesp], Compras.[Vlr_total_bsCal_icms], Compras.[Vlr_total_vlr_icms], Compras.[Vlr_total_bsCal_icmsST], Compras.[modFrete], Compras.[Vlr_total_vlr_icmsST], Compras.[Vlr_total_IPI], Compras.[Indicador_Pagamento] FROM Compras WHERE DataEntrada between @datainicial and @datafinal and CodigoFornecedor = @CodigoFornecedor"


_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#474034 - 17/05/2017 21:10:21

JOHNSTEVE
COSMOPOLIS-SP
Cadast. em:Janeiro/2016


uuufffa  consertei kerplunk, veja no final do SQL.. eu esqueci de por       >     =?





#474035 - 17/05/2017 21:12:54

JOHNSTEVE
COSMOPOLIS-SP
Cadast. em:Janeiro/2016


eu fiz assim e deu certo Kerplunk

  WHERE DataEntrada between @datainicial and @datafinal and CodigoFornecedor=?"


e nos parametros

   cmd.Parameters.AddWithValue("@datainicial", mskDIni.Value.Date)
                            cmd.Parameters.AddWithValue("@datafinal", mskDFim.Value.Date)
                            cmd.Parameters.Add(New OleDb.OleDbParameter("@CodigoFornecedor", Dgv_Fornecedor_Bloco0150.Rows(j).Cells("CodigoFornecedor").Value.ToString()))
                            



Vlw pela atenção acho que ja posso Fechar o topico e lhe pontuar é claro




#474036 - 17/05/2017 21:15:46

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Use parâmetros nomeados. Como você está passando os nomes deles nos parâmetros, melhor colocar os nomes deles na query também, assim não fica confuso.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#474038 - 17/05/2017 23:22:07

JOHNSTEVE
COSMOPOLIS-SP
Cadast. em:Janeiro/2016


Citação:
:
Use parâmetros nomeados. Como você está passando os nomes deles nos parâmetros, melhor colocar os nomes deles na query também, assim não fica confuso.


Boa ideia Kerplunk vlw



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por JOHNSTEVE em 17/05/2017 23:22:28