Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Check box e selezioni multiple

    Ciao a tutti!
    Qualcuno può indicarmi come eseguire un'operazione su più record tramite check box?
    Per esempio: ho una lista di record dati dal classico ciclo di visualizzazione, se volessi tramite check box eliminarne più di uno e poi cliccando il relativo pulsante la query come dev'essere impostata? E visto che le check box fanno parte di un form, che attributi devo dare al form?
    Shryne
    --------------------------------------------------
    WebMaster di Loskabrones.net
    --------------------------------------------------

  2. #2

    Prova così:

    <% if request.form("fatto")<>"1" then %>
    <form name="form" action="tuapag.asp" method="post">
    <table>
    <%
    'ciclo x la visualizzazione (che hai già fatto,quindi scrivo solo quello che serve per il check)

    do while not rs.eof
    id=rs(campo identificatore del record)
    %>
    <input type="checkbox" name="idcanc" value="<%=id%>">
    <%
    loop
    %>
    <input type="hidden" name="fatto" value="1">
    <input type="submit" name="cancella" value="cancella">
    </table>
    </form>
    <%else
    'ottieni una stringa con tutti gli id dei record da cancellare
    strId=request.form("idcanc")
    vettId=split(strId,",")
    strSql="Delete from nometabella where"
    s=""
    for i=0 to ubound(vettId(i))
    if s="" then
    s=" campoID="&chr(34)&vettId(i)&chr(34)
    else
    s=s&" or campoID="&chr(34)&vettId(i)&chr(34)
    end if
    next
    strSql=strSql&s
    set rec=conn.execute(strSql)
    end if%>
    speriamo...

  3. #3
    codice:
    25		strId=request.form("idcanc")
    26		vettId=split(strId,",")
    27		strSql="Delete from TB_GB where"
    28		s=""
    29			for i=0 to UBound(vettId)
    30				if s="" then
    31					s=" ID_GB="&chr(34)&vettId(i)&chr(34)
    32				else
    33					s=s&" or ID_GB="&chr(34)&vettId(i)&chr(34)
    34				end if
    35			next
    36				strSql=strSql&s
    37		
    38		Set Conn = Server.CreateObject("ADODB.Connection")
    39		Conn.Open(strCon)
    40		Conn.Execute strSql
    41		
    42		Conn.Close
    43		Set Conn = Nothing
    Io ho fatto questo ma mi da il seguente errore:

    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
    [Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto 2.
    /admin/gb.asp, line 40
    Shryne
    --------------------------------------------------
    WebMaster di Loskabrones.net
    --------------------------------------------------

  4. #4
    Ho risolto il problema!!!
    Avevi sbagliato a scrivere l'id sulla query... vanno messi senza il chr(34) sennò vede i parametri come stringhe!
    Grazie mille per l'aiuto!!
    Shryne
    --------------------------------------------------
    WebMaster di Loskabrones.net
    --------------------------------------------------

  5. #5
    Ops...è vero.......era l'id che scema..
    Cmq sono contenta abbia risolto!Ciao!

  6. #6
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    comunque bastava la clausola IN
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  7. #7
    cioè??

  8. #8
    Utente di HTML.it L'avatar di Galex
    Registrato dal
    Aug 2002
    Messaggi
    667
    Originariamente inviato da wallrider
    comunque bastava la clausola IN

    strId=request.form("idcanc")

    strSql="Delete from TB_GB where ID_GB IN ("&strId&")"

  9. #9
    Capisco....non lo sapevo

  10. #10
    Scusatemi se continuo questa discussione ma dopo un primo periodo di funzionamento ha smesso di funzionare e non riesco a capire il perchè...
    allora il mio codice è questo:

    codice:
    id = Request.QueryString("id")
    
    strId=request.form("idcanc")
    if strId <> 0 then
    	strSql="Delete from TB_NEWS in ("&strId&")"
    			
    		Set Conn = Server.CreateObject("ADODB.Connection")
    		Conn.Open(strCon)
    		Conn.Execute strSql
    		Conn.Close
    		Set Conn = Nothing
    
                 'da qui continua con ELSE
    Però quando tento di eliminare i record mi da quest'errore:

    Tipo di errore:
    Errore di run-time di Microsoft VBScript (0x800A000D)
    Tipo non corrispondente: '[string: "78, 77"]'

    Appena avevo provato il codice che mi avete suggerito funzionava... e ora non più...
    Shryne
    --------------------------------------------------
    WebMaster di Loskabrones.net
    --------------------------------------------------

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.