43 messaggi dal 18 settembre 2001
Ciao Ragazzi, era da tempo che non entravo in questo forum..ed ho notato che non esiste più il supporto ad ASP 3.0 :-(

Qualcuno mi può aiutare con questa query? sto impazzendo:
In effetti ho aggiunto solo 2 campi nuovi (note,prezzo_concorrenza)
ma mi da sempre errore:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.


SQL = "INSERT INTO Dati2 (data_reg,data,operatore,concorrente,grammi_sea,grammi_con,code,code_oem,description,price,prezzo_concorrenza,note,prezzo_promo,priced) VALUES ('"& data_reg &"', '" & data &"','" & Session("id_utente") &"','" & concorrente &"','" & grammi_sea &"','" & grammi_con &"','" & code &"','" & code_oem &"','" & description &"','" & price &"','" & prezzo_concorrenza&"','" & note &"','" & prezzo_promo &"','" & priced &"')"

Non credo sia un fattore di apici perchè gli altri campi numerici mi funzionano benissimo.
175 messaggi dal 02 gennaio 2012
Sintatticamente non vi sono errori,
semplicemente note e' una parola riservata del linguaggio SQL
potresti :

1 scrivere [note]
2 cambiare nome al campo

bye ghg
43 messaggi dal 18 settembre 2001
Grazie, infatti era proprio questo il problema.
Ho rinominato il campo come "xnote" ed ora funziona tutto a meraviglia.
Stavo impazzendo e non ho pensato al fattore del set istruzioni.
43 messaggi dal 18 settembre 2001
Ciao ghg, visto che sei stato così gentile nel rispondermi, potresti darmi una mano con un tipo di query?

Mi spiego.
Allora ho creato un motore di ricerca interno che mi estrae i dati dalle tabelle del db access.

Il problema è il seguente:
Come è strutturata ora la query, quando inserisco nel campo input un codice/articolo Esempio: F300SA1510 (Drum Samsung ML-1510)mi estrae il codice richiesto con tutte le condizioni che sono in query..e fin quì tutto bene.
MA....se volessi estrarre tutti i codici che iniziano per F300SA...per concorrente etc..

F300SA1510 - TIZIO
F300SA1710 - CAIO
F300SA2850 - SEMPRONIO
F300SA3050 - ETC
ETC...
Come potrei fare??? come potrai vedere dal codice, ho commentato la query con le like% per non estrarre duplicati.

************posto la pagina:****************

<%
Dim Cerca
Cerca = Replace(Request.Form("search"), "'", "")
if Cerca = "" then
Response.write ""
Response.end
end if
Dim DbPath, Conn

DbPath="/db/db.mdb"
Set Conn = Server.CreateObject("ADODB.Connection")

Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DbPath)

Dim strSQL,strSQL2, Rs
strSQL = "Select * from Dati2 where code='" & Cerca & "' order by code asc"

'strSQL = "Select * from Dati2 where code like '%" & Cerca & "%' or ID like '%" & Cerca & "%' or description like '%" & Cerca & "%' order by code asc"

Dim cn,cm
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("/db/db.mdb")

Set Rs = Server.CreateObject("ADODB.Recordset")

Rs.Open strSQL, Conn, 3, 3


if Rs.EOF then

Response.write "Nessun risultato trovato!"
else

Do while NOT Rs.EOF

%>

<table width="100%" border="0" cellspacing="1" cellpadding="5" id="table95" style="border-top-width: 0px; border-bottom-width: 0px">
<tr>
<td bgcolor="#D3D3D3" align="center" width="12%"><b>
<font face="Verdana" size="2" color="#800000">Date</font></b></td>
<td bgcolor="#D3D3D3" align="center" width="30%"><font face="Verdana" size="2"><b>Concorrente</b></font></td>
<td bgcolor="#D3D3D3" align="center" width="30%"><font face="Verdana" size="2"><b>Code</b></font></td>
<td bgcolor="#D3D3D3" align="center" width="30%"><font face="Verdana" size="2"><b>Description</b></font></td>
<td bgcolor="#D3D3D3" align="center" width="30%"><font face="Verdana" size="2"><b>Code_oem</b></font></td>
<td bgcolor="#D3D3D3" align="center" width="30%"><font face="Verdana" size="2"><b>Grm_sea</b></font></td>
<td bgcolor="#D3D3D3" align="center" width="30%"><font face="Verdana" size="2"><b>Grm_con</b></font></td>
<td bgcolor="#008080" align="center" width="30%"><font face="Verdana" size="2" color="#FFFFFF"><b>Prezzo_Sea</b></font></td>
<td bgcolor="#000800" align="center" width="30%"><font face="Verdana" size="2" color="#FFFFFF"><b>Prezzo_Conc</b></font></td>
<td bgcolor="#000800" align="center" width="30%"><font face="Verdana" size="2" color="#FFFFFF"><b>Prezzo_min</b></font></td>
<td bgcolor="#000800" align="center" width="30%"><font face="Verdana" size="2" color="#FFFFFF"><b>Prezzo_medio</b></font></td>
<td bgcolor="#000800" align="center" width="30%"><font face="Verdana" size="2" color="#FFFFFF"><b>Prezzo_max</b></font></td>


</tr>
<tr>
<td bgcolor="#FFCC33" width="12%"><font face="Verdana" size="2"><%=Server.HTMLEncode(rs("data_reg"))%></font></td>
<td bgcolor="#FFCC33" width="30%"><font face="Verdana" size="2"><%=Server.HTMLEncode(rs("concorrente"))%></font></td>
<td bgcolor="#FFCC33" width="30%"><font face="Verdana" size="2"><%=Server.HTMLEncode(rs("code"))%></font></td>
<td bgcolor="#FFCC33" width="30%"><font face="Verdana" size="2"><%Response.write "" & Rs ("description") & "" & ""%></font></td>
<td bgcolor="#FFCC33" width="30%"><font face="Verdana" size="2"><%Response.write "" & Rs ("code_oem") & "" & ""%></font></td>
<td bgcolor="#FFCC33" width="30%"><font face="Verdana" size="2"><%Response.write "" & Rs ("grammi_sea") & "" & ""%></font></td>
<td bgcolor="#FFCC33" width="30%"><font face="Verdana" size="2"><%Response.write "" & Rs ("grammi_con") & "" & ""%></font></td>
<td bgcolor="#FFCC33" width="30%"><font face="Verdana" size="2"><%Response.write "" & Rs ("price") & "" & ""%></font></td>
<td bgcolor="#FFCC33" width="30%"><font face="Verdana" size="2"><%Response.write "" & Rs ("prezzo_concorrenza") & "" & ""%></font></td>
<td bgcolor="#FFCC33" width="30%"><font face="Verdana" size="2"><%set rs=cn.execute ("Select MIN(prezzo_concorrenza) as minimo from Dati2 WHERE code='" & Cerca & "' ")%><p align="center"><font color="#FF0000" face="Verdana" size="2"><%response.write ""&rs("minimo")%></font>
<td bgcolor="#FFCC33" width="30%"><font face="Verdana" size="2"><%set rs=cn.execute ("Select AVG(prezzo_concorrenza) as media from Dati2 WHERE code='" & Cerca & "' ")%><p align="center"><font color="#008000" face="Verdana" size="2"><%response.write ""&rs ("media")%></font>
<td bgcolor="#FFCC33" width="30%"><font face="Verdana" size="2"><%set rs=cn.execute ("Select MAX(prezzo_concorrenza) as massimo from Dati2 WHERE code='" & Cerca & "' ")%><p align="center"><font color="#000080" face="Verdana" size="2"><%response.write ""&rs ("massimo")%></font></p>
</tr>
</table>
</form>

<table width="80%" border="0" cellspacing="0" cellpadding="0" align="center" bgcolor="#ffffff">
<tr>
<td>
</tr>
</table>
<div align="center"><br>

<%
Rs.MoveNext

Loop

End If

%>

</div>
<p align="center"></p>
</form>
</div>

</body>

</html>

<%

Rs.close

Set Rs = Nothing

Conn.close

Set Conn = Nothing
%>

Praticamente vorrei avere il prezzo minimo,medio e massimo su tutti i record che soddisfano la richiesta.
Modificato da ettorpa il 07 agosto 2012 12.49 -
175 messaggi dal 02 gennaio 2012
Prima

strSQL = "Select * from Dati2 where code like '%" & Cerca & "%' or ID like '%" & Cerca & "%' or description like '%" & Cerca & "%' order by code asc"


Soluzione (devi togliere il primo %
strSQL = "Select * from Dati2 where code like '" & Cerca & "%' or ID like '" & Cerca & "%' or description like '" & Cerca & "%' order by code asc"

bye ghg
43 messaggi dal 18 settembre 2001
Grazie mille per la risposta ghg,

Allora ho provato con la tua query e funziona solo se tolgo queste righe:
Altrimenti mi restituisce sempre 1 solo record.

L'inghippo sta nella query select min

<td bgcolor="#B0FFFF" width="30%"><font face="Verdana" size="2"><%set rs=conn.execute ("Select MIN(prezzo_concorrenza) as minimo,id from Dati2 GROUP BY id")%><p align="center"><font color="#FF0000" face="Verdana" size="2"><%response.write ""&rs("minimo")%></font>
          <td bgcolor="#B0FFFF" width="30%"><font face="Verdana" size="2"><%set rs=conn.execute ("Select MIN(((prezzo_concorrenza) *0.7)*0.95)*0.9 as minimo from Dati2 WHERE code LIKE '%" & Cerca & "%' ")%><p align="center"><font color="#FF0000" face="Verdana" size="2"><%Response.write ""&rs("minimo")%></font>



Forse è sbagliata la posizione???

<%set rs=conn.execute ("Select MIN(prezzo_concorrenza) as minimo,id from Dati2 GROUP BY id")%><%response.write ""&rs("minimo")%>

<%set rs=conn.execute ("Select MIN(((prezzo_concorrenza) *0.7)*0.95)*0.9 as minimo from Dati2 WHERE code LIKE '%" & Cerca & "%' ")%><%Response.write ""&rs("minimo")%>

Modificato da ettorpa il 08 agosto 2012 09.33 -
43 messaggi dal 18 settembre 2001
Magari sarebbe possibile integrare le 2 query in una sola???

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.