Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. scaricamento prodotti
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • A
      artcava Moderatore • ultima modifica di

      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

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • D
        djjunior User • ultima modifica di

        No nn c'è differenza è solo errore di battitura ma il campo è solo uno. Proverò come da te suggerito. Grazie

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • A
          artcava Moderatore • ultima modifica di

          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 & "" 
          
          
          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • D
            djjunior User • ultima modifica di

            Grazie ARTCAVA, così come da te suggerito, su 600 (quantita da scaricare) al primo prodotto scala correttamente 538
            dal secondo articolo in poi mette sempre 62
            invece dal 3° articolo in poi dovrebbe lasciare 0ù
            Grazie

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • A
              artcava Moderatore • ultima modifica di

              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

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • D
                djjunior User • ultima modifica di

                Grazie per l'aiuto ARTCAVA
                ho provato l'ultimo script da te modificato ma nn ora non detrae il rimanente (62) dal secondo articolo, in pratica tutti gli altri articoli restano a zero.... questo operazione mi sta facendo letteralmente impazzire...

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • A
                  artcava Moderatore • ultima modifica di

                  Strano, prova a farti stampare sulla pagina i valori ad ogni giro, per capire cosa va storto

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • D
                    djjunior User • ultima modifica di

                    al primo articolo scarica 538 anche al secondo articolo scarica 538 (come il primo) al terzo articolo scarica 62 e agli altri scarica zero sembra che ci siamo.... ma come mai al primo lo ripete? grazie di tutto

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • A
                      artcava Moderatore • ultima modifica di

                      Boh, prova a ripostare il codice così com'è adesso...

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • D
                        djjunior User • ultima modifica di
                        
                        articolo = request.form("descrizione") 
                        qta_da_scaricare = 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
                        
                        

                        Ho provato però mettendo un valore minore della quantità dell'articolo tipo 25 e succede che il primo articolo scarica sempre 538 al secondo ancora 538 e al terzo -513 e agli altri correttamento zero

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • D
                          djjunior User • ultima modifica di

                          ho trovato scusami c'era prima di questo codice un'altro che creava il loop del primo articolo e lo ripeteva.... ora va benissimo, scusami....
                          ma resta il fatto se si mette un valore minore come spiegato su

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • A
                            artcava Moderatore • ultima modifica di

                            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?

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • D
                              djjunior User • ultima modifica di

                              @artcava said:

                              Scusa, ma queste righe?

                              >
                              rsa.Open sql, Conn, 3, 3 
                              do while not rsa.eof
                              
                              >```
                              
                              Sono sparite...
                              
                              Durante il copia incolla le ho omesse,  ma come ti dicevo il problema era al di fuori dello script che ho corretto, scusami, resta il fatto se metto valore minore...
                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • A
                                artcava Moderatore • ultima modifica di

                                @djjunior said:

                                resta il fatto se metto valore minore...

                                Questo valore minore sta in QtaDoc? Oppure?

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • D
                                  djjunior User • ultima modifica di

                                  @artcava said:

                                  Questo valore minore sta in QtaDoc? Oppure?

                                  sta in

                                  qta_da_scaricare = request.form("qta_da_scaricare")

                                  se

                                  qta_da_scaricare = 25
                                  invece di 600 come provato finora

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • A
                                    artcava Moderatore • ultima modifica di

                                    ...

                                    
                                       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?

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • D
                                      djjunior User • ultima modifica di

                                      effettivamente no, però come ti dicevo tu se la quantità da scaricare è meno di 538, cioè esempio 25
                                      ho il primo articolo scaricato 538 e il secondo -513

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • A
                                        artcava Moderatore • ultima modifica di

                                        Non è possibile, puoi ripostare tutto così com'è?

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        • D
                                          djjunior User • ultima modifica di

                                          ho trovato l'inghippo, ho utilizzato la funzione CInt:
                                          qta_da_scaricare = CInt(request.form("qta_da_scaricare"))
                                          e va tutto benissimo....
                                          grazie 1000 ARTCAVA

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • D
                                            djjunior User • ultima modifica di

                                            Scusami ARTCAVA
                                            approfitto del tuo aiuto sempre in merito allo script di cui sopra.
                                            Se si presentasse il caso per di aver esaurito tutta la quantità scaricata da tutti i prodotti es di 3 prodotti uguali:

                                            PASTA qta 538 qtascaricata 538
                                            PASTA qta 538 qtascaricata 538
                                            PASTA qta 538 qtascaricata 538

                                            e provo ad inserire altra quantità tipo 20
                                            è possibile inserirla al primo disponibile?
                                            es:

                                            PASTA qta 538 qtascaricata 558
                                            PASTA qta 538 qtascaricata 538
                                            PASTA qta 538 qtascaricata 538

                                            Grazie ancora

                                            0 Miglior Risposta Ringrazia Cita Rispondi

                                              1 Risposta Ultima Risposta
                                            Caricamento altri post
                                            Rispondi
                                            • Topic risposta
                                            Effettua l'accesso per rispondere
                                            • Da Vecchi a Nuovi
                                            • Da Nuovi a Vecchi
                                            • Più Voti