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. Query su db access, contare record mese precedente e mese corrente
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • A
      artcava Moderatore • ultima modifica di

      Dovresti fare così

      sql="UPDATE Ticket SET in_carico = '' where in_carico="'& username & "'"
      

      ma credo, se ho capito cosa contiene la tabella Ticket, tu debba gestire anche l'identificativo del Ticket, cioé il campo che identifica univocamente il Ticket stesso...

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • M
        markuz User Attivo • ultima modifica di

        Il fatto è che in entrata sulla pagina il ticket è identificato, ma se clicca su "indietro" e torna su una pagina generica diciamo, vorrei che liberasse nel db la voce "in_carico". Quindi pensavo di mettere uno script nella pagina generica che se l'utente è su quella non deve esserci il suo username nella colonna "in_carico". Potrebbe andare bene?
        Però non funge.

        0 Miglior Risposta Ringrazia Cita Rispondi

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

          Quindi provo a fare il giro per capire se ho capito...
          Hai una pagina con l'elenco dei ticket, se l'utente ne apre uno appena entri nella pagina di dettaglio del ticket metti nel campo "in_carico" lo Username che hai attualemnte in sessione.
          Quando l'utente dovesse uscire dal Ticket senza aver fatto nulla vorresti che il Ticket non glik rimanesse assegnato.

          Allora le strade che mi immagino io possono essere:

          • L'utente entra nel Ticket con due possibili modalità, "vedi dettaglio" oppure "prendi in carico" cioé due differenti bottoni, così è lui che decide. Nel dettaglio ovviamente può ancora prenderlo in_carico, oppure rimetterlo nello stato precedente se l'avesse in_carico.
          • L'utente naviga nei Ticket senza mai assegnarselo, a meno che non lo "lavori", a questo punto nel passo successivo (che non so qual'è...) lo mette in_carico
          • ASP.NET, tutte le pagine derivano da una classe base (di tipo System.Web.Page) che nel Load o nell'Init rimuovono l'assegnazione se presente. Tutte tranne la pagina di dettaglio che fa l'esatto contrario.
          • ASP Classic, tutte le pagine, tranne quella di dettaglio hanno una include che fa la stessa cosa...
          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • M
            markuz User Attivo • ultima modifica di

            Tutto corretto. Però vorrei capire che include mettere in asp classico...

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • A
              artcava Moderatore • ultima modifica di
              <!--#include file="rimuoviticket.inc"-->
              

              Dentro inserisci le istruzioni per rimuovere il ticket assegnato all'utente...

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • M
                markuz User Attivo • ultima modifica di

                Certo, però lì che ho l'intoppo. Esiste un modo per eliminare l'username se presente in tutta la colonna "in_carico"?

                0 Miglior Risposta Ringrazia Cita Rispondi

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

                  Sì, nel modo che ti avevo già scritto...

                  sql="UPDATE Ticket SET in_carico = '' where in_carico="'& username & "'"
                  

                  Se non funziona può voler dire che la variabile username non è valorizzata, oppure perché c'è un errore...
                  Nel primo caso fatti stampare la variabile sulla pagina con ```
                  Response.Write(username)

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • M
                    markuz User Attivo • ultima modifica di

                    Fatto ma non rimuove il nome, stampando

                    Response.Write(username)esce il mio username correttamente.

                    0 Miglior Risposta Ringrazia Cita Rispondi

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

                      Che tipo di chiamata fai al DB, puoi postare tutto lo script?

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • M
                        markuz User Attivo • ultima modifica di

                        Scusami non capisco. Ho semplicemente messo nella pagina dove tornano gli utenti un include con "sql="UPDATE Ticket SET in_carico = '' where in_carico="'& username & "'""

                        Intendi questo?

                        0 Miglior Risposta Ringrazia Cita Rispondi

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

                          La parte dove l'istruzione sql viene eseguita...

                          Una cosa tipo```
                          set conn=Server.CreateObject("ADODB.Connection") ecc...

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • M
                            markuz User Attivo • ultima modifica di

                            Intendi la stringa di connessione?
                            Conn_String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=database.mdb; Persist Security Info = False" '## MS Access 2000

                            Questa?

                            0 Miglior Risposta Ringrazia Cita Rispondi

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

                              No proprio tutto lo script utilizzato per fare l'update...

                              Oppure prova così:

                              
                              Set conn = Server.CreateObject("ADODB.Connection")
                              Conn_String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=database.mdb; Persist Security Info = False"
                              conn.open Conn_String
                              Set rs = Server.CreateObject("ADODB.Recordset")
                              Set rs.ActiveConnection = conn
                              rs.Open "select * from Ticket where in_carico ='" & username & "'", ,1,3
                              rs("in_carico") = ""
                              rs.Update
                              rs.Close
                              Set rs = Nothing
                              conn.close
                              Set conn = Nothing
                              
                              
                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • M
                                markuz User Attivo • ultima modifica di

                                Mmm non và, non capisco. Le ho provate diverse ma niente, eppure non dovrebbe essere difficile...Il campo in_carico resta scritto con l'username.

                                Aggiornamento, specificando il request cookie username lo cancella ma refreshando dà errore perchè non trova il campo. Provo con dei if else end if...

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • M
                                  markuz User Attivo • ultima modifica di

                                  Ho provato questo ma niente :
                                  <%
                                  Username = Request.Cookies("Username")
                                  if sql="select in_carico from Ticket where in_carico ='" & username & "'" then
                                  Set rs = Server.CreateObject("ADODB.Recordset")
                                  Set rs.ActiveConnection = conn
                                  rs.Open "select in_carico from Ticket where in_carico ='" & username & "'", ,1,3
                                  rs("in_carico") = ""
                                  rs.Update
                                  rs.Close
                                  Set rs = Nothing
                                  end if
                                  %>

                                  Sono giorni che sono un pò scollegato e non riesco a fare le cose più semplici...

                                  0 Miglior Risposta Ringrazia Cita Rispondi

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

                                    @Markuz said:

                                    Aggiornamento, specificando il request cookie username lo cancella ma refreshando dà errore perchè non trova il campo. Provo con dei if else end if...

                                    Questa mi sembra la strada più corretta, al secondo giro ovviamente non trova più il record con lo UserName, ma se fai il test (if else end if) dovresti chiudere il giro.

                                    0 Miglior Risposta Ringrazia Cita Rispondi

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

                                      Scusa non avevo visto bene:

                                      if sql="select in_carico from Ticket where in_carico ='" & username & "'" then
                                      

                                      Questo non serve a nulla, a parte il fatto che sarà sempre true. Un assegnazione è per definizione sempre vera...

                                      Il test devi mettelro un po' più in basso:

                                      
                                      Username = Request.Cookies("Username")
                                      sql="select in_carico from Ticket where in_carico ='" & username & "'"
                                      Set rs = Server.CreateObject("ADODB.Recordset")
                                      Set rs.ActiveConnection = conn
                                      rs.Open "select in_carico from Ticket where in_carico ='" & username & "'", ,1,3
                                      If Not rs.EOF Then
                                          rs("in_carico") = ""
                                          rs.Update
                                          rs.Close
                                      end if
                                      Set rs = Nothing
                                      
                                      
                                      
                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • M
                                        markuz User Attivo • ultima modifica di

                                        Grazie tantissimo, funziona. Complimenti per la conoscenza della materia.
                                        Ora sistemo un paio di cose e dove mi riblocco mi rifaccio vivo.
                                        Grazie ancora!

                                        0 Miglior Risposta Ringrazia Cita Rispondi

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

                                          You're welcome!

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • M
                                            markuz User Attivo • ultima modifica di

                                            Ora dovrei trovare un escamotage, perchè facciamo conto che una persona entra nel ticket e un seconda persona, non ha la pagina aggiornata e prova anche lui ad entrare nello stesso...dovrei mettere un alert che il ticket è già in carico...ci lavoro sù...

                                            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