Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488

    Query articolo magazzino

    Chiedo aiuto, non riesco a trovare l'errore nella seguente query :
    codice:
    <%
    id = trim(request.querystring("id"))
    if request.querystring("id")<>"" then
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\inetpub...")
    Set objRs = Server.CreateObject("ADODB.Recordset")
    set objRs = objConn.Execute("SELECT [Elenco Linee di Prodotti].[Linea Prodotti], [Elenco Categorie Articoli].[Categ Art], [Elenco Tipologie Articoli].[Tipo Art], [Elenco Articoli].IDArt, [Elenco Articoli].Descrizione, Sum([Movimentazioni Carico/Scarico Mag].[Qtà Ord]) AS Ord, Sum([Movimentazioni Carico/Scarico Mag].[Qtà Cons]) AS Cons, ((Sum([Movimentazioni Carico/Scarico Mag].[Qtà Ord]))-(Sum([Movimentazioni Carico/Scarico Mag].[Qtà Cons]))) AS Giac FROM [Elenco Tipologie Articoli] RIGHT JOIN ([Elenco Linee di Prodotti] RIGHT JOIN ([Elenco Categorie Articoli] RIGHT JOIN ([Elenco Articoli] RIGHT JOIN [Movimentazioni Carico/Scarico Mag] ON [Elenco Articoli].IDArt = [Movimentazioni Carico/Scarico Mag].IDArt) ON [Elenco Categorie Articoli].IDCategArt = [Elenco Articoli].IDCategArt) ON [Elenco Linee di Prodotti].IDLineaProdotti = [Elenco Articoli].IDLineaProdotti) ON [Elenco Tipologie Articoli].IDTipoArt = [Elenco Articoli].IDTipoArt GROUP BY Descrizione,[Tipo Art],[Categ Art], [Linea Prodotti] HAVING ((([Elenco Articoli].IDArt)=id) AND (((Sum([Movimentazioni Carico/Scarico Mag].[Qtà Ord]))-(Sum([Movimentazioni Carico/Scarico Mag].[Qtà Cons])))>0)) ORDER BY [Linea Prodotti],[Categ Art], [Tipo Art];")
    precedente=""
    DO while NOT objRs.EOF
    if precedente<>objRs("Linea Prodotti") then
    %>
    <table border="1" width="90%">
    <tr><td style="height:12px" colspan="7"></td></tr>
    <tr>
    <td><font size="5"><b><i>Linea :</i></b></font></td>
    <td colspan="6"><font size="5"><b><i><%=objRs("Linea Prodotti")%></font></td>
    </tr>
    <tr><td style="height:12px"></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
    <%
    precedente=objRs("Linea Prodotti")
    end if
    %>
    <%
    if precedenteCateg<>objRs("Categ Art")then
    %>
    <tr>
    <td></td>
    <td align="right"><font size="5"><b><i>Categoria :</i></b></font></td>
    <td colspan="5"><b><i><font size="4"><%=objRs("Categ Art")%></font></td>
    <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
    </tr>
    <%
    precedenteCateg=objRs("Categ Art")
    end if
    %>
    <% if precedenteTipo<>objRs("Tipo Art")then
    %>
    <tr>
    <td></td>
    <td></td>
    <td><font size="5"><b><i>Tipo :</i></b></font></td>
    <td colspan="4"><font size="3"><b><i><%=objRs("Tipo Art")%></font></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td></td>
    <td><i><b><font size="2">Articolo</font></b></i></td>
    <td><i><b><font size="2">Q.tà Ord.</font></b></i></td>
    <td><i><b><font size="2">Q.tà Cons.</font></b></i></td>
    <td><i><b><font size="2">Giacenza</font></b></i></td>
    </tr>
    
    <%
    precedenteTipo=objRs("Tipo Art")
    end if
    %>
    
    <tr>
    <td></td>
    <td></td>
    <td></td>
    <td><%=objRs("Descrizione")%></td>
    <td align="center"><%=objRs ("Ord")%></td>
    <td align="center"><%=objRs ("Cons")%></td>
    <td align="center"><%=objRs ("Giac")%></td>
    </tr>
    <tr><td style="height:12px" colspan="7"></td></tr>
    <%
    objRs.Movenext
    Loop
    objRs.Close
    Set objRs = Nothing
    objConn.Close
    Set objConn = Nothing
    end if
    %>
    L'errore che mi da è il seguente :

    Microsoft JET Database Engine error '80040e21'
    You tried to execute a query that does not include the specified expression 'IDArt' as part of an aggregate function.
    /riservato/scheda_articolo.asp, line 32

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    Ok, pardon, dopo un po di modifiche sono arrivato a questo :

    codice:
    id = trim(request.querystring("id"))
    if request.querystring("id")<>"" then
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\inetpub\.......")
    Set objRs = Server.CreateObject("ADODB.Recordset")
    set objRs = objConn.Execute("SELECT [Elenco Linee di Prodotti].[Linea Prodotti], [Elenco Categorie Articoli].[Categ Art], [Elenco Tipologie Articoli].[Tipo Art], [Elenco Articoli].IDArt, [Elenco Articoli].Descrizione, Sum([Movimentazioni Carico/Scarico Mag].[Qtà Ord]) AS Ord, Sum([Movimentazioni Carico/Scarico Mag].[Qtà Cons]) AS Cons, ((Sum([Movimentazioni Carico/Scarico Mag].[Qtà Ord]))-(Sum([Movimentazioni Carico/Scarico Mag].[Qtà Cons]))) AS Giac FROM [Elenco Tipologie Articoli] RIGHT JOIN ([Elenco Linee di Prodotti] RIGHT JOIN ([Elenco Categorie Articoli] RIGHT JOIN ([Elenco Articoli] RIGHT JOIN [Movimentazioni Carico/Scarico Mag] ON [Elenco Articoli].IDArt = [Movimentazioni Carico/Scarico Mag].IDArt) ON [Elenco Categorie Articoli].IDCategArt = [Elenco Articoli].IDCategArt) ON [Elenco Linee di Prodotti].IDLineaProdotti = [Elenco Articoli].IDLineaProdotti) ON [Elenco Tipologie Articoli].IDTipoArt = [Elenco Articoli].IDTipoArt GROUP BY [Elenco Linee di Prodotti].[Linea Prodotti], [Elenco Categorie Articoli].[Categ Art], [Elenco Tipologie Articoli].[Tipo Art], [Elenco Articoli].IDArt, [Elenco Articoli].Descrizione HAVING ((([Elenco Articoli].IDArt)=id) AND (((Sum([Movimentazioni Carico/Scarico Mag].[Qtà Ord]))-(Sum([Movimentazioni Carico/Scarico Mag].[Qtà Cons])))>0)) ORDER BY [Elenco Linee di Prodotti].[Linea Prodotti], [Elenco Categorie Articoli].[Categ Art], [Elenco Tipologie Articoli].[Tipo Art];")
    solo che non prende il valore di "id"

    Un aiutino qualcuno?

  3. #3
    che vuol dire solo che non prende il valore di "id" ?

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    mi riferisco a questa parte di query :
    codice:
    HAVING ((([Elenco Articoli].IDArt)=id) AND .......

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    se metto un valore io, ad es. 11 la query viene eseguita, ma se lascio id mi da il seguente errore :
    Microsoft JET Database Engine error '80040e10'
    No value given for one or more required parameters.
    /riservato/scheda_articolo3.asp, line 32

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,781
    Quote Originariamente inviata da Prof_Mauri Visualizza il messaggio
    mi riferisco a questa parte di query :
    codice:
    HAVING ((([Elenco Articoli].IDArt)=id) AND .......
    se id è numerico (ne farei comunque una verifica, i dati in arrivo potrebbero essere letti o ricevuti come testo):
    codice:
    HAVING ((([Elenco Articoli].IDArt)="&id&") AND .......

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    Si, avevi ragione, così va

    grazie

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    Scusate se riscrivo, ma dopo aver semplicemente modificato il valore di Having da "IDArt" a "CodInt" cos� :
    [code]
    SELECT [Elenco Linee di Prodotti].[Linea Prodotti], [Elenco Categorie Articoli].[Categ Art], [Elenco Tipologie Articoli].[Tipo Art], [Elenco Articoli].IDArt, [Elenco Articoli].Descrizione,[Elenco Articoli].CodInt, Sum([Movimentazioni Carico/Scarico Mag].[Qt� Ord]) AS Ord, Sum([Movimentazioni Carico/Scarico Mag].[Qt� Cons]) AS Cons, ((Sum([Movimentazioni Carico/Scarico Mag].[Qt� Ord]))-(Sum([Movimentazioni Carico/Scarico Mag].[Qt� Cons]))) AS Giac FROM [Elenco Tipologie Articoli] RIGHT JOIN ([Elenco Linee di Prodotti] RIGHT JOIN ([Elenco Categorie Articoli] RIGHT JOIN ([Elenco Articoli] RIGHT JOIN [Movimentazioni Carico/Scarico Mag] ON [Elenco Articoli].IDArt = [Movimentazioni Carico/Scarico Mag].IDArt) ON [Elenco Categorie Articoli].IDCategArt = [Elenco Articoli].IDCategArt) ON [Elenco Linee di Prodotti].IDLineaProdotti = [Elenco Articoli].IDLineaProdotti) ON [Elenco Tipologie Articoli].IDTipoArt = [Elenco Articoli].IDTipoArt GROUP BY [Elenco Linee di Prodotti].[Linea Prodotti], [Elenco Categorie Articoli].[Categ Art], [Elenco Tipologie Articoli].[Tipo Art], [Elenco Articoli].IDArt, [Elenco Articoli].Descrizione HAVING ((([Elenco Articoli].CodInt)="&id&")) ORDER BY [Elenco Linee di Prodotti].[Linea Prodotti], [Elenco Categorie Articoli].[Categ Art], [Elenco Tipologie Articoli].[Tipo Art];")
    [/doce]

    mi da errore :
    Microsoft JET Database Engine error '80040e14'

    Syntax error (missing operator) in query expression '((([Elenco Articoli].CodInt)=2P))'.

    /riservato/scheda_articolo.asp, line 32

    perch�

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    Pardon, trovato errore, sbagliavo modificando anche il valore di id nella seguente parte :
    scheda_articolo.asp?id=<%=objRs(".......

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.