Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387

    Passare il Valore di un ID a una checkbox spuntata

    Ho una pagina asp che recupera taluni valori da una tabella access. Melgio specificato: recupera tutti gli appuntamenti in cui un campo "commerciale" è "null" per poi poterli assegnare.

    Io, al momento, da una colonna leggo l'ID univoco di ogni appuntamento, lo trascrivo e quindi da un menu a tendina scelgo il nome del commerciale, clicco sul bottoncino e automaticamente fa l'update del/dei record in cui l'ID = a quelli che io gli ho scritto a mano.

    Spero fin qui di essere stato chiaro.

    Vorrei mettere a fianco di ogni record delle checkbox senza spunta, spuntare quella/quelle che mi servono e quindi fare update laddove checkbox = spuntata. COme fo? mi sono perso nel codice, sigh.....

    Eccovi i codici

    codice:
    sql = "select * from appuntamenti where commerciale is null ORDER BY giorno, mese, cap, ora, minuti"
    naturalmente richiamo tutti i record dove il commerciale non c'è...

    scrivo gli id che mi servono, seleziono il commerciale dalla lista e tramite

    codice:
    form method="post" action="query/query_assegnazione.asp"
    passo tutto a un'altra paginetta che

    codice:
    ID=split(request.form("ID"),",")
    commerciale=request.Form("commerciale")
    
    
    Set cn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.Recordset")
    cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("/mdb-database/appuntamenti.mdb")
    
    for each el in ID
    SQL= "UPDATE appuntamenti SET commerciale = ' "&commerciale&" ' WHERE ID =  "& el
    
    rs.Open sql, cn
    
    next


    Dove quell'ID Split mi serve perchè magari devo assegnare allo stesso commerciale + di 1 appuntamento e quindi scrivo gli ID cosi: 1,2,3,9,8,15 etc.....

    Se invece molto + "user friendly" volessi assegnare a un commerciale solo quei record che hanno una casella spuntata?

    grazie a tutti in anticipo e buona giornata!

    PS ho aggiunto (togliendo i nomi per la privacy ) una immagine per meglio spiegare quello che intendo... vorrei evitare di scrivere quegli ID!


  2. #2
    casella ceccata:

    <input type=checkbox name=articoli value=<%=rs("tuovalore")%> checked>



    non ceccata
    <input type=checkbox name=articoli value=<%=rs("id")%> >
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Originariamente inviato da asva
    casella ceccata:

    <input type=checkbox name=articoli value=<%=rs("tuovalore")%> checked>



    non ceccata
    <input type=checkbox name=articoli value=<%=rs("id")%> >
    scusa, non ho capito molto...

    01- =<%=rs("tuovalore")%> intendi metterci al posto di tuovalore ID nel mio caso visto che uso quello per lavorare sui record?

    02 - come usare praticamente le due istruzioni? Questo non l'ho proprio capito....

    o meglio: al posto della colonna ID che faccio, metto nel codice le checkbox e scelgo tra una delle due funzioni a seconda se voglio che appaia automaticamente flaggata o no?

  4. #4
    rs
    è il record set

    quindi
    rs("tuovalore")

    è quello che recuperi dal database.......

    se il tuo campo è

    clienti
    sarà
    rs("clienti")

    il ceck
    è l'elemento di un form
    quindi
    apri il data base
    crea il form
    all'interno del form crei il ceck con valore = al tuo record set

    le due righe sono uguali se vuoi il selezionato aggiungi il cecked
    altrimenti no
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    allora, fammi vedere se ho capito...

    Nel mio caso specifico, visto che l'assegnazione a un commerciale la faccio cosi

    UPDATE * INTO APPUNTAMENTI WHERE ID = ALL'ID che ho scritto in quella casella di testo

    inserisco direttamente nella colonna le Chexkbox con value=<%=rs("id")%>

    L'istruzione UPDATE devo modificarla in qualche modo? Se si come?

    grazie!

    Ora è cosi


    codice:
    ID=split(request.form("ID"),",")
    commerciale=request.Form("commerciale")
    for each el in ID
    UPDATE appuntamenti SET commerciale = ' "&commerciale&" ' WHERE ID =  " & el
    quell' EL è per recuperare + di un ID inserito nella casella di testo...

    grazie!

  6. #6
    allora facciami chiarezza...


    in quale pagina vuoi vedere il ceck?

    cosa devi fare con il valore recuperato?
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Vedi l'immagine che ho postato? Bene, invece di scrivere a mano tutti gli ID dei vari record voglio prenderli selezionando una o + checkbox..... tali checkbox avranno come valore l'ID del record relativo alla riga in cui si trovano (la prima avrà quindi come valore ID 38, la seconda ID 36 etc etc etc).

    Nella tabella quindi inserisco tra le colonne la checkbox in questo modo

    codice:
    <input type="checkbox" name="flag" value=<%=rs("id")%>
    dopo che ho scelto il commerciale dal menu a tendina passo tutto tramite POST a un'altra pagina, la quale.......

    codice:
     <%
    ID=request.form("ID")
    commerciale=request.Form("commerciale")
    
    Set cn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.Recordset")
    cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("/mdb-database/appuntamenti.mdb")
    
    SQL= "UPDATE appuntamenti SET commerciale = ' "&commerciale&" ' where ID = "&ID&" "
    
    rs.Open sql, cn
    
    %>
    e così mi da errore nella riga relativa a rs.Open sql, cn....

    Praticamente con la (o le, perchè possono essere + di una) checkbox voglio passare, relativamente a quelle spuntate, uno o + ID all'altra pagina..... sto uscendo pazzo

  8. #8
    request.form("flag")

    così hai chiamato il ceck

    id è il suo valore

    suppongo però che i ceck presenti in tabella siano più di uno

    se è cosi devi ciclare anche i risultati


    per prima cosa verifica che qualcosa sia stato selezionato e puoi farlo con un if
    <%
    if request.form("flag").count=0 then

    response.write("non hai selezionato nulla")

    %>

    codice rimanente

    <%end if%>


    il recupero del ceck devi farlo con un ciclo for

    esempio
    for i=1 to request.form("flag").count

    id=request.form("flag")(i)
    x chiudere il ciclo
    <%
    next

    %>
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Risolto!!!!!!!!!

    Grazie mille!!!! Sei stato gentilissimo !!!! Buon agiornata!

  10. #10
    prego

    mi ci sono semplicemente scornato prima di te
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

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 © 2026 vBulletin Solutions, Inc. All rights reserved.