Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: Insert multiplo

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387

    Insert multiplo

    Ragazzi, ho bisogno di un vostro aiuto:

    Allora, il DB in remoto, appuntamenti.mdb ha diversi campi, ma per semplicità mettiamo:

    ID --- REFERENTE --- COMMERCIALE --- DATA --- ORA

    Da una pagina richiamo tutti gli appuntamenti che hanno il commerciale vuoto, (in effetti sono quelli ancora da assegnare!) inserisco l'ID in una casella di testo, scelgo da un menu a tendina il commerciale ROssi, Verdi, etc... e faccio l'insert del nome nella tendina all'interno del campo commerciale.

    Fin qui tutto ok! Ora però per comodità vorrei:

    1) inserire nella casella di testo più di un ID (ma quale sarebbe la stringa da passargli esattamente?) oppure

    2) inserire una check box a fianco di ogni appuntamento in maniera che quando flaggo tale check e poi clicco su "assegna" (dopo aver scelto il commerciale dal menu a tendina) mi inserisca per tutti gli appuntamenti spuntati il commerciale.

    per essere più chiaro allego la schermata che si vede lato client



    a fianco dell'ID (che poi se ci si clicca vedi tutto il dettaglio dell'appuntamento) mettere quel check; mi basterebbe cmq sapere come scrivere nel campo ID più di un ID...


    scusate la lungaggine!

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    some idea? torno a ripetere, mi basterebbe sapere anche solo come poter scrivere gli id all'interno del campo testo.... ad esempio "312"; "313" etc etc etc....

  3. #3
    webtemplum se ho capito bene la tua domanda è come poter inserire + ID in quel dato campo ...giusto?

    ovvero tu hai una tabella con ToT record: da quì selezioni gli appuntamenti e poi tutti i loro ID li vorresti inserire in 1 unico campo

    se così è ....la cosa si può fare con la funzione SPLIT

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    vorrei in pratica, dovendo dare più ID allo stesso commerciale, inserire in quel campo più di un ID, in maniera tale che, nel database, succeda questo:

    ID 1 commerciale Rossi
    ID 4 commerciale Rossi
    ID 5 commerciale Rossi

    Senza dover ogni volta, essendo lo stesso commerciale, dover inserire 1, premere assegna, tornare indietro, inserire 4, premere assegna, tornare indietro, inserire 5............. loop!

    Come potrei scrivere? 1; 4; 5? 1, 4, 5? "1;" "4;" ????

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    HO dimenticato la cosa più importante: mostrarvi la SQL che c'è dietro.....


    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&" "
    QUindi naturalmente il numerello che viene preso dalla stringa inserita lato client viene convertita da "&ID&"... che posso inserirgli lato client per scrivere più di un valore?

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Ok, girovacchiando per internet ho trovato la funzione split (come scritto qualche post prima da qualcuno... )

    Pero', come faccio a implementarla? Non posso usare il java script o altro, ho necessita di cambiare quella stringa, come posso fare??? Vi chiedo aiuto, così poi non rompo più!

  7. #7
    se il form("id") è una serie di checkbox funziona questo:

    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 = ' "& replace(commerciale,"'","''") &" ' WHERE ID =  "& el
    
    cn.execute(sql)
    next
    

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    grazie santino.... purtroppo non è una serie di check box, solo un mero campo di ID... provo a modificare un po' il tuo codice, e ti faccio sapere....

    PS Ma poi per funzionare come dovrenbbero essere passati i valori? Divisi con lo spazio, le virgole, i punti e virgola......

  9. #9
    se tu metti tutti gli id nella text in questo modo:

    codice:
    id1,id2,id3,id4,id5,etc,etc
    funziona uguale...se vuoi usare un altro carattere di divisione degli id basta che poi nella funzione SPLIT sostituisci alla virgola tra virgolette il carattere che hai scelto



    ps: per mettere piu id nella text puoi anche chiedere a quelli del forum di scripting visto che è un problema lato client, non server...cmq secondo me sono meglio le checkbox


  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Allora.... ho usato il tuo codice ma all'inizio mi chiedeva di aggiungere un next,,,, quindi l'ho modificato così:

    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
    next 
    rs.Open sql, cn
    Passandogli i valori 1, 2, 3 (con spazio o senza spazio dopo la virgola)mi prende solo il 3 (solo l'ultimo di tutta la serie).......... dov'è che sbaglio???

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.