Ciao a tutti, segnalo anche questo sito dell'Organizzazione Mondiale dellla Salute, molto interattivo
https://who.sprinklr.com/
Soprattutto la sezione Explorer
https://who.sprinklr.com/explorer
Ciao a tutti, segnalo anche questo sito dell'Organizzazione Mondiale dellla Salute, molto interattivo
https://who.sprinklr.com/
Soprattutto la sezione Explorer
https://who.sprinklr.com/explorer
Ciao djjunior, puoi postare lo script?
Magari nella sezione "MySQL e altri Database"
Grazie
Io farei più o meno così:
articolo = request.form("descrizione")
qta_da_scaricare = CInt(request.form("qta_da_scaricare"))
sql="SELECT * FROM db WHERE Articolo = & "'" & articolo & "' and (QtaDoc-QtaSpuntata>0) "
Set rsa = Server.CreateObject("ADODB.Recordset")
qtadoc = rsa.fields("QtaDoc")
qtaspu = rsa.fields("QtaSpuntata")
qtarest = qtadoc-qtaspu
If qta_da_scaricare < qtarest Then
qtarest = qta_da_scaricare
End If
rsa.fields("QtaSpuntata") = "" & qtarest + qtaspu & ""
qta_da_scaricare = qta_da_scaricare-qtarest
rsa.update
rsa.MoveNext
loop
if qta_da_scaricare > 0 Then
sql="SELECT TOP(1) * FROM db WHERE Articolo = & "'" & articolo & "'
Set rsa = Server.CreateObject("ADODB.Recordset")
qtaspu = rsa.fields("QtaSpuntata")
rsa.fields("QtaSpuntata") = qtaspu + qta_da_scaricare
rsa.update
End If
Però quello che vorrei suggerirti è di verificare prima sul piano logico se questa modalità ha senso per l'attività del tuo cliente o la tua se lo stai facendo per te.
Mi riferisco al fatto che qui intravvedo una specie di gestione del magazzino, dove ci saranno ingressi di prodotti suddivisi in lotti e vendite successive dove dalle quantità dei vari lotti vengono stornate.
Ma come fai a gestire una quantità in uscita superiore a quella consolidata in magazzino?
Non è possibile, puoi ripostare tutto così com'è?
...
qtadoc = rsa.fields("QtaDoc")
qtaspu = rsa.fields("QtaSpuntata")
qtarest = qtadoc-qtaspu
if qta_da_scaricare < qtarest Then
qtarest = qta_da_scaricare
End If
rsa.fields("QtaSpuntata") = "" & qtarest + qtaspu & ""
qta_da_scaricare = qta_da_scaricare-qtarest
-----------
qtadoc = 538
qtaspu = 0
qtarest = 538-0 = 538
if 25 < 538 Then
qtarest = 25
End If
rsa.fields("QtaSpuntata") = "" & 25 + 0 & "" = 25
qta_da_scaricare = 25-25 = 0
Succede qualcosa di diverso da questo?
@djjunior said:
resta il fatto se metto valore minore...
Questo valore minore sta in QtaDoc? Oppure?
Scusa, ma queste righe?
rsa.Open sql, Conn, 3, 3
do while not rsa.eof
Sono sparite...
PS: hai loggato sulla pagina i valori a ciascun giro?
Boh, prova a ripostare il codice così com'è adesso...
Strano, prova a farti stampare sulla pagina i valori ad ogni giro, per capire cosa va storto
A naso, senza debug proverei così:
articolo = request.form("descrizione")
qta_da_scaricare = request.form("qta_da_scaricare")
sql="SELECT * FROM db WHERE Articolo = & "'" & articolo & "' and (qta_articolo-qta_spuntata>0) "
Set rsa = Server.CreateObject("ADODB.Recordset")
rsa.Open sql, Conn, 3, 3
do while not rsa.eof
qtadoc = rsa.fields("qta_articolo")
qtaspu = rsa.fields("qta_spuntata")
qtarest = qtadoc-qtaspu
If qta_da_scaricare < qtarest Then 'se la quantità totale da scaricare è > di quella da scaricare per articolo
qtarest = qta_da_scaricare
End If
rsa.fields("qta_spuntata") = "" & qtarest + qtaspu & "" 'se inserisci solo il resto perdi eventuale qta già spuntata in precedenza
qta_da_scaricare = qta_da_scaricare-qtarest
rsa.update
rsa.MoveNext
loop
rsa.close
Se ci sono errori di sintassi, scusa, ma non scrivo in VBScript da un decennio almeno...
Dovresti anche controllare, per ciascun giro, che qta_da_scaricare sia > 0
Allora, ho provato a riscrivere il tuo codice con un po' di indentazione...
articolo = request.form("descrizione")
qta_da_scaricare = request.form("qta_da_scaricare")
sql="SELECT * FROM db WHERE Articolo = & "'" & articolo & "' and (qta_articolo-qta_spuntata>0) "
Set rsa = Server.CreateObject("ADODB.Recordset")
rsa.Open sql, Conn, 3, 3
do while not rsa.eof
qtadoc = rsa.fields("qta_articolo")
qtaspu = rsa.fields("qta_spuntata")
qtarest = qtadoc-qtaspu
rsa.fields("qta_spuntata") = "" & qtarest & ""
rsa.update
qtaultima = qta_da_scaricare-qtarest
rsa.fields("qta_spuntata") = "" & qtaultima & ""
rsa.update
rsa.MoveNext
loop
rsa.close
Guardando il tuo codice, secondo me già al primo giro la qta_spuntata dovrebbe essere = 62, se consideriamo anche la seconda assegnazione:
rsa.fields("qta_spuntata") = "" & qtaultima & ""
Ciao djjunior, solo un dubbio:
c'è differenza nel db tra qta_spuntata e qta_Spuntata?
Comunque prova a sostituire la variabile qtaultima con qta_da_scaricare
@alesmazz said:
Grazie per la risposta. Quali sono i file .dll ai quali devo fare riferimento?
Posta tutta la prima riga che controlliamo
Immagino tu stia utilizzando WebForm, la versione di asp.net con il code-behind...
Controlla di avere i riferimenti .dll delle pagine .aspx, in quella riga con il pallino rosso, più avanti, dovresti avere il riferimento alla dll
Ciao Alesmazz, potresti fare uno screenshot della pagina per far capire meglio a chi legge la discussione?
Grazie
Con la funzione UrlEncode...
Server.URLEncode(ValoreParametro)
In teoria dovresti metterlo tra:
mail.BodyEncoding = System.Text.Encoding.GetEncoding("iso-8859-15");
e
SmtpMail.Send(mail);
Che errore ti da?
Nel secondo file che hai postato ci sono i due campi file:
<input id="inpAttachment1" maxlength="255" type="file" size="30" name="filMyFile" runat="server">
Ma nel primo non c'è nessun riferimento alla cattura di questi files che dovresti mettere in allegato:
if (inpAttachment1.HasFile)
{
string filepath = Server.MapPath(inpAttachment1.PostedFile.ToString());
mail.Attachments.Add(**new System.Net.Mail.Attachment(filepath)**);
}