Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Scrivi/Leggi Access

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    195

    Scrivi/Leggi Access

    Ho creato tante aree di testo in cui scrivere. Però volevo che si stampasse il contenuto del database all'interno di ognuna di loro (in modo tale che se per esempio una non la volevo modificare, rimaneva sempre il testo di prima...). Quindi ho creato all'inizio della pagina, un codice che apre il database. Poi in ogni campo di testo ho inserito la variabile che fa leggere la rispettiva cella del database (Tipo se il campo si chiama Ciao, allora legge la cella del database Ciao...). Fino a qui tutto ok.
    Poi ho fatto a fine pagina una condizione. Cioè che se veniva premuto il pulsante Modifica, allora il contenuto della tabella si cancella mettendo il nuovo. Ma penso di aver sbagliato qualcosa...infatti anche se modifico qualcosa, rimane sempre lo stesso, come se non lo avessi mai modificato . Ecco il codice di questo:

    ----------------------

    If Invia then

    sql = "DELETE * FROM *******"

    Dim Meteo, TitoloNews, News, Documenti, Didattica, OrganiCollegiali, Scuola, Segreteria, Orari, Progetti, Corsi, Pof, Comunicazioni

    TitoloNews = request.form("TitoloNews")
    News = request.form("News")
    Documenti = request.form("Documenti")
    Didattica = request.form("Didattica")
    OrganiCollegiali = request.form("OrganiCollegiali")
    Scuola = request.form("Scuola")
    Segreteria = request.form("Segreteria")
    Orari = request.form("Orari")
    Progetti = request.form("Progetti")
    Corsi = request.form("Corsi")
    Pof = request.form("Pof")
    Comunicazioni = request.form("Comunicazioni")
    Meteo = request.form("Meteo")

    rs.addnew
    rs(1) = News
    rs(2) = Documenti
    rs(3) = Didattica
    rs(4) = OrganiCollegiali
    rs(5) = Scuola
    rs(6) = Segreteria
    rs(7) = Orari
    rs(8) = Progetti
    rs(9) = Corsi
    rs(10) = Pof
    rs(11) = Comunicazioni
    rs(12) = TitoloNews
    rs(13) = Meteo
    rs.update

    end if
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing


    -----------------------------------------
    Nota: per la connessione, ho lasciato quella aperta di prima

  2. #2
    In pratica devi fare una modifica di quanto sta scritto nella textarea sul database.
    Il modo più semplice è usare direttamente l'istruzione UPDATE, non è necessario cancellare il vecchio per poi aggiugnere ilnuovo.

    Fai una istruzione di questo tipo:

    sql = "UPDATE nometabella SET nomecampo='" &valoretextarea& "' WHERE ID_nometabella=" & valoreID

    spero ti sia chiara quest'istruzione.
    Se non ti è chiaro qualcosa fammi sapere

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    195
    Dici che sia la + efficace? Mi potresti commentare il codice visto che non ho capito tanto bene

    Ma devo creare una nuova connessione?

  4. #4
    No la connessione ti basta quella che usi per connetterti al DB.

    codice:
    sql = "UPDATE nometabella SET nomecampo='" &valoretextarea& "' WHERE ID_nometabella=" & valoreID
    Questa istruzione in pratica ti fa aggiornare(UPDATE) la tabella che decidi tu (nometabella) impostando per ognicampo del DB il valore che vuoi venga aggiornato.
    Supponiamo il tuo campo nel DB si chiami News e che la textarea che ti mostra il valore di NEWS si chiami txtNews.
    Nella query devi mettere

    ... SET News = '"&txtNews&"'

    la clausola WHERE ti serve per decidere quale riga deve modificare.
    Quindi dovrai passarti il valore che ti identifica la riga che stai mostrando e che vuoi modificare. Questo valore ovviamente te lo recuperi con la select precedente che ti ha permesso di mostrare i valori del db nella textarea.

    Tutto chiaro?

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    195
    quindi ne devo fare 13 di quelle righe, visto che ci sono 13 campi? E poi per l'id a questo punto non conviene mettere sempre il numero 1, in modo tale da lasciare sempre quello aggiornato?

  6. #6
    no no aspè.

    Ti basta fare solo UNA query come quella che ti ho mostrato, però invece che modificare solo un dato la fai così:

    sql = "UPDATE nometabella SET nomecampo='" &valoretextarea& "', nomecampo2 = '"&altrovalore&"'....

    e così via.
    per quanto riguarda l'identificativo, quello non lo devi mettere tu ma deve essere associato alla riga che vuoi modificare. Nel tuo DB devi avere per forza un campo contatore che ti possa identificare la riga che devi modificare.
    Quindi questa riga

    WHERE ID_nometabella=" & valoreID

    è necessaria.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    195
    Ho fatto così, ma sono allo stesso punto di prima :master:


    If Invia then

    sql = "UPDATE nometabella SET News='" &News& "', Documenti= '"&Documenti&"', Didattica='" &Didattica& "', OrganiCollegiali= '"&OrganiCollegiali&"', Scuola='" &Scuola& "', Segreteria= '"&Segreteria&"', Orari='" &Orari& "', Progetti= '"&Progetti&"', Corsi= '"&Corsi&"', Pof= '"&Pof&"', Comunicazioni= '"&Comunicazioni&"', TitoloNews= '"&TitoloNews&"', Meteo= '"&Meteo&"' WHERE Id_Gestione=" & 1

    end if
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    195
    cmq ti ringrazio per l'aiuto che mi stai dando

  9. #9
    bisogna anche eseguirla, l'istruzione sql....

    con un'istruzione del tipo

    oConn.Execute sSQL

    adattala al tuo caso

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.