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. Eliminare voce da db
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • D
      djjunior User • 3 apr 2014, 15:29 ultima modifica di

      Ciao t ringrazio x la tua risposta ma io nn devo cancellare il valore di un campo db access ma cancellare una voce presente in un campo. In un campo denominato NOME ci possono essere + voci che andrebbero successivamente splittate. Quindi intendo cancellare x esempio la terza voce d un campo tipo:
      Campo:NOME
      Valore:PAOLO, ANNA, MARCO
      Campi:FORMATO
      Valore:12, 14, 16
      Ecco io dovrei eliminare per es: ANNA e il formato di rif cioè: 14.
      Ecco, come si fa?
      Grazie
      G.

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • A
        artcava Moderatore • 3 apr 2014, 16:15 ultima modifica di

        Scusa ma mi sono perso...

        Non stiamo parlando di un db ma di un testo? La provenienza di questo testo non è quindi oggetto della domanda?

        Allora il testo che hai a disposizione è contenuto in una variabile che si chiama NOME, visto che il contenuto è separato da virgola (,) puoi fare una split del testo ottenendo così un array, rimuovere l'elemento interessato, tenendo presente che l'array ha base 0 normalmente, ed infine eseguire una join dei valori restanti nella variabile di partenza o altra variabile dichiarata all'occorrenza...

        E' questo che devi fare?

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • D
          djjunior User • 3 apr 2014, 16:56 ultima modifica di

          Si si è questo quello che devo fare! Pero il testo da eliminare può variare, diciamo che lo recupero da una request.querystring e devo cancellare contemporaneamente da 2 campi allo stesso punto. Tipo la terza voce separata da virgola!
          Grazie

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • A
            artcava Moderatore • 3 apr 2014, 20:50 ultima modifica di

            Allora ti consiglio di usare la Split, funzione descritta in questa pagina: Split
            Mentre scorri l'array ricostruisci il testo aggiungendo la virgola (,) e conti le ricorsioni, quando arrivi alla terza la salti e prosegui con il resto.

            Lo stesso fai con l'altro parametro. Magari puoi costruire una funzione che lo fa prendendo in carico il parametro da scorrere e l'indice da saltare.

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • D
              djjunior User • 3 apr 2014, 21:09 ultima modifica di

              Grazie. Potresti farmi un esempio pratico? Non saprei come partire. Grazie

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • A
                artcava Moderatore • 3 apr 2014, 21:48 ultima modifica di

                Dovrebbe essere qualcosa di simile

                
                Function DeleteFromArray(text,index)
                Dim r As String
                Dim i As Int[INDENT]a=Split(text, ",")
                i=0
                for each x in a
                [/INDENT]
                [INDENT=2]If i <> index Then[/INDENT]
                [INDENT=3]r = r & x & ","
                [/INDENT]
                [INDENT=2]End If
                i = i + 1[/INDENT]
                [INDENT]next
                DeleteFromArray = r[/INDENT]
                End Function
                
                

                Non ho controllato la sintassi, vbScript non lo uso più da anni :bho: e non me lo ricordo più, faccio anche un po' confusione con VB

                Spero possa aiutarti comunque

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • D
                  djjunior User • 4 apr 2014, 09:28 ultima modifica di

                  Grazie lo proverò anche sono ho capito bene come posso eliminare da 2 o più campi contemporaneamente il valore (diciamo il terzo per esempio) e implementarlo al mio db access. Grazie e scusami ma non mi + chiara proprio questa parte.
                  G.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • D
                    djjunior User • 6 apr 2014, 22:39 ultima modifica di

                    Nessun aiuto?

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • A
                      artcava Moderatore • 7 apr 2014, 07:47 ultima modifica di

                      Scusa ma non ti seguo nuovamente, i dati arrivano dal DB o dal QueryString? Se arrivano dal DB come mai hai elementi separati da virgola?

                      Comunque per eseguire l'operazione di cancellazione dell'elemento dall'elenco devi "chiamare" due volte DeleteFromArray passando prima i nomi e l'indice da eliminare e subito dopo i numeri e l'indice, indice che dovrà essere lo stesso di prima...

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • D
                        djjunior User • 7 apr 2014, 08:16 ultima modifica di

                        Allora i dati arrivano dal querystring e devo cancellarli dal db. Grazie

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • A
                          artcava Moderatore • 7 apr 2014, 09:35 ultima modifica di

                          Continua a non essermi chiaro, che relazione c'è tra i dati del QueryString e quelli nel DB, come fai ad essere sicuro che il dato in una determinata posizione corrisponda a quella del DB?

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • D
                            djjunior User • 7 apr 2014, 09:50 ultima modifica di

                            La relazione che cè è il NOME che è univoco pertanto recuperando dal querystring il NOME di conseguenza in base alla posizione del nome si trova la posizione del formato! Ed effettuare la cancellazione d entrambi!

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • A
                              artcava Moderatore • 7 apr 2014, 10:15 ultima modifica di

                              Quindi fammi capire se ho capito:

                              Nel QueryString hai un elenco di nomi separato da virgola!
                              Sai anche in quale posizione si trova il nome da eliminare, ma non qual'è e devi quindi trovarlo!

                              Ecco come:

                              
                              Function SearchFromArray(text,index)
                              Dim i As Int
                              [INDENT]a=Split(text, ",")[/INDENT]
                              [INDENT]i=0[/INDENT]
                              [INDENT]for each x in a[/INDENT]
                              [INDENT=2]If i = index Then[/INDENT]
                              [INDENT=3]SearchFromArray = x[/INDENT]
                              [INDENT=2]End If[/INDENT]
                              [INDENT=2]i = i + 1[/INDENT]
                              [INDENT]next[/INDENT]
                              End Function
                              
                              

                              Con la stessa funzione puoi anche trovare il FORMATO, passando il testo contenente i formati separati da virgola.

                              A questo punto però devi eliminarli dal DB e per questo devi utilizzare SQL come nella mia prima risposta...

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • D
                                djjunior User • 7 apr 2014, 15:09 ultima modifica di

                                In pratica ricevo un solo valore, dovrei fare tipo così per cancellare i 2 valori presenti alla stessa posizione nel campo db, non mi è chiaro questo passaggio:

                                
                                **nome = request.querystring("file")
                                formato = request.querystring("formato")
                                
                                Function SearchFromArray(nome,index)
                                Dim i As Int
                                a=Split(nome, ",")
                                i=0
                                for each x in a
                                If i = index Then
                                SearchFromArray = x
                                End If
                                i = i + 1
                                next
                                End Function
                                ****
                                Function SearchFromArray(formato,index)
                                Dim i As Int
                                a=Split(formato, ",")
                                i=0
                                for each x in a
                                If i = index Then
                                SearchFromArray = x
                                End If
                                i = i + 1
                                next
                                End Function**
                                
                                

                                Poi come faccio ad eliminarlo dalla query sql?
                                Ho db access?
                                Grazie 1000 per l'aiuto che mi stai dando.
                                G.

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • D
                                  djjunior User • 8 apr 2014, 08:47 ultima modifica di

                                  Ho provato a fare questo!

                                  
                                  nome = request.querystring("file")
                                  
                                  function SearchFromArray(nome,index)
                                  
                                  a=Split(nome, ",")
                                  i=0
                                  for each x in a
                                  If i = index Then
                                  SearchFromArray = x
                                  End If
                                  i = i + 1
                                  
                                  sql = "DELETE * FROM ordini WHERE foto = " & x(i)
                                  Set rs = Server.CreateObject("ADODB.Recordset")
                                  rs.Open sql, conn, 3, 3
                                  
                                  next
                                  End Function
                                  
                                  
                                  

                                  Almeno per eliminare un solo valore, ma io devo eliminare + valori collegati tra loro (il NOME e il FORMATO di riferimento)
                                  Ma non elimina nulla.
                                  Dove sbaglio?
                                  Aiutatemi, grazie
                                  G.

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • D
                                    djjunior User • 9 apr 2014, 13:55 ultima modifica di

                                    Nessun aiuto???

                                    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