+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29

filtro con dei valori data in una query

  1. #1
    massimoflorian non  in linea Scolaretto
    Salve,
    ho creato del codice che mi alimenta un datagridview1 da una query.
    ho filtrato i dati secondo alcuni criteri ma dovrei filtrare anche per data.
    ho creato due textbox
    textbox1 e textbox2
    Adesso dovrei filtrare la query per il campo dataemissione.
    avevo pensato questo:
    Dim data as datatime = me.textbox1.text
    Dim data1 as datatime= me.textbox2.text
    la condizione
    WHERE dataemissione BETWEEN '#"& data &"#' and '#"& data1 &"' "
    secondo voi corretto???O devo usare gli operatori > <???

    Il codice il seguente:

    PublicSub leggiDati()
    Dim ds AsNew DataSet()
    Dim strConn AsString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
    strConn = strConn & "C:\beauty\database.mdb"
    Dim sql AsString = "SELECT year([dataemissione]) AS Anno,Month([dataemissione]) AS Mese, Sum(Fiche.TotaleServizi) AS TotaleServizi, Sum(Fiche.TotaleProdotti) AS TotaleProdotti, Sum(Fiche.Sconto) AS Sconto, Sum(Fiche.Totale) AS Totale " _
    &
    " FROM(Fiche) " _
    &
    " GROUP BY Month([dataemissione]),year([dataemissione])"
    Dim conn As System.Data.OleDb.OleDbConnection = Nothing
    Dim command As System.Data.OleDb.OleDbCommand = Nothing
    Dim adapter As System.Data.OleDb.OleDbDataAdapter = Nothing
    Try
    conn = New System.Data.OleDb.OleDbConnection(strConn)
    command = conn.CreateCommand()
    command.CommandText = sql
    adapter =
    New System.Data.OleDb.OleDbDataAdapter(command)
    adapter.Fill(ds)
    Catch e As Exception
    MessageBox.Show(e.Message)
    Finally
    If conn.State = ConnectionState.Open Then
    conn.Close()
    EndIf
    EndTry
    Dim dt AsNew System.Data.DataTable()
    'ds = leggiDatiFiche(file, tabella)
    Dim dv AsNew DataView(ds.Tables(0))
    dt = dv.Table
    Me.DataGridView1.DataSource = dv
    EndSub

  2. #2
    L'avatar di chico_
    chico_ non  in linea Topo di biblioteca Ultimo blog: Attacco a Oscommerce
    A mio avviso entrmbe le sintassi sono corrette, ma between pi elegante. In ogni caso, ti suggerisco l'utilizzo di query parametriche per evitare tutti i problemi di formattazione di date, stringhe ecc.

    Un esempio qui:
    ADO.NET - utilizzo dei parametri su C# e VB.NET

    Ciauz

    Chico

    p.s.: Inserisci il codice che posti come esempio tra [*code] e [*/code] (senza asterischi) . Lo rendi di pi semplice lettura.
    ℹ️ Leggi di pi su chico_ ...

  3. #3
    massimoflorian non  in linea Scolaretto
    Ciao,grazie per il suggerimento.
    Perch mi da il seguente errore???
    "Nessun valore inserito per i parametri necessari"



    Dim ds AsNew DataSet()
    Dim servizio AsString = "servizio"
    Dim strConn AsString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
    strConn = strConn & "C:\beauty\database.mdb"
    Dim data As DateTime = Me.DateTimePicker1.Text
    Dim data1 As DateTime = Me.DateTimePicker2.Text
    'Dim sql As String = "SELECT Fiche.IdFiche, Fiche.idCliente, Fiche.Collaboratore, Fiche.DataEmissione, Fiche.TotaleServizi FROM Fiche WHERE Idcliente= " & ID & ""
    Dim sql AsString = "SELECT FicheDettaglio.idProdottoServizio, Fiche.idCliente, Cliente.Cognome, Cliente.Nome, Fiche.IdFiche, Fiche.Collaboratore, Fiche.DataEmissione, FicheDettaglio.Descrizione, FicheDettaglio.Prezzo, FicheDettaglio.SubTotale, FicheDettaglio.Quantita" _
    &
    " FROM (Fiche INNER JOIN FicheDettaglio ON Fiche.IdFiche = FicheDettaglio.Idfiche) INNER JOIN Cliente ON Fiche.idCliente = Cliente.IdCliente" _
    &
    " WHERE FicheDettaglio.Tipologia = '" & servizio & "' and FicheDettaglio.idprodottoservizio = " & ID & " and dataemessione between'#" & data & "#' and '#" & data1 & "#' "

  4. #4
    massimoflorian non  in linea Scolaretto
    salve,
    adesso mi da come errore:
    errore nella stringa sql.
    Qualcuno pu aiutarmi????
    Da premettere che prima di avere inserito i due filtri data e data1 non mi dava nessun errore.

    PrivateSub ProvvigionePRODOTTO()
    Dim ds AsNew DataSet()
    Dim prodotto AsString = "prodotto"
    Dim data As DateTime = Me.DateTimePicker4.Text
    Dim data1 As DateTime = Me.DateTimePicker3.Text
    Dim strConn AsString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
    strConn = strConn & "C:\beauty\database.mdb"
    Dim sql AsString = "SELECT FicheDettaglio.IdFicheDettaglio, FicheDettaglio.Idfiche, FicheDettaglio.Collaboratore, Fiche.DataEmissione, FicheDettaglio.Tipologia, FicheDettaglio.Descrizione, Collaboratore.[Provvigione%Servizi], FicheDettaglio.Prezzo, FicheDettaglio.Quantita, FicheDettaglio.SubTotale, [SubTotale]*[Provvigione%Servizi]/100 AS Provvigione" _
    &
    " FROM (Fiche INNER JOIN FicheDettaglio ON Fiche.IdFiche = FicheDettaglio.Idfiche) INNER JOIN Collaboratore ON FicheDettaglio.Collaboratore = Collaboratore.Collaboratore" _
    &
    " WHERE FicheDettaglio.Tipologia = '" & prodotto & "'AND FicheDettaglio.Collaboratore ='" & Me.TextBox10.Text & "' and dataemissione between '#" & data & "#'and'#" & data1 & "#'"""
    Dim conn As System.Data.OleDb.OleDbConnection = Nothing
    Dim command As System.Data.OleDb.OleDbCommand = Nothing
    Dim adapter As System.Data.OleDb.OleDbDataAdapter = Nothing
    Try
    conn = New System.Data.OleDb.OleDbConnection(strConn)
    command = conn.CreateCommand()
    command.CommandText = sql
    adapter =
    New System.Data.OleDb.OleDbDataAdapter(command)
    adapter.Fill(ds)
    Catch e As Exception
    MessageBox.Show(e.Message)
    Finally
    If conn.State = ConnectionState.Open Then
    conn.Close()
    EndIf
    EndTry
    Dim dt AsNew System.Data.DataTable()
    Dim dv AsNew DataView(ds.Tables(0))
    dt = dv.Table
    Me.DataGridView2.DataSource = dv
    EndSub

  5. #5
    L'avatar di bumm
    bumm non  in linea Topo di biblioteca Ultimo blog: [VB2010] ComboBox ed Enumeratori
    chico_ ti ha consigliato di usare i parametri. E un ottimo consiglio!
    ℹ️ Leggi di pi su bumm ...

  6. #6
    massimoflorian non  in linea Scolaretto
    ciao bumm,
    ma questo sistema che utilizzo non va bene....????
    La sintassi errata????

  7. #7
    L'avatar di chico_
    chico_ non  in linea Topo di biblioteca Ultimo blog: Attacco a Oscommerce
    Metti un punto di interruzione dopo Dim Sql as String e dicci il contenuto della variabile in quel momento.
    Inoltre controlla che i nomi dei campi siano corretti.

    Ciauz

    Chico
    ℹ️ Leggi di pi su chico_ ...

  8. #8
    massimoflorian non  in linea Scolaretto
    ciao,
    grazie innanzitutto.
    Provo e vi faccio sapere

  9. #9
    massimoflorian non  in linea Scolaretto
    ciao,
    questo l'errore:


    Errore di sintassi nella stringa nell'espressione della query 'FicheDettaglio.Tipologia = 'prodotto 'AND FicheDettaglio.Collaboratore ='Balistreri Giuseppe' and dataemissione between '#02/06/2008#'and'#30/06/2008#'"'.

  10. #10
    massimoflorian non  in linea Scolaretto
    l'errore il seguente:
    non capisco

    Errore di sintassi nella stringa nell'espressione della query 'FicheDettaglio.Tipologia = 'prodotto 'AND FicheDettaglio.Collaboratore ='Balistreri Giuseppe' and dataemissione between '#02/06/2008#'and'#30/06/2008#'"'.

+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo

Potrebbero interessarti anche ...

  1. Creare filtro su query con valori da 2 campi
    Da varsity nel forum Microsoft Access
    Risposte: 11
    Ultimo Post: 11-09-2016, 18:25
  2. Risposte: 24
    Ultimo Post: 20-03-2013, 18:51
  3. Risposte: 4
    Ultimo Post: 13-02-2012, 11:36
  4. Filtro query su campo data
    Da mthefox nel forum Microsoft Access
    Risposte: 7
    Ultimo Post: 02-02-2012, 12:26
  5. Risposte: 13
    Ultimo Post: 23-10-2010, 09:08