Newsgroup: it.comp.www.asp
Titolo: Inserimento di più record numerici da un solo form.

Dovrei  poter inserire una serie di numeri consecutivi in un Db
Invece di fare una pagina di insert per ogni numero, è possibile recuperare
i dati da due texfield ad esempio TextFieldFROM  e TexfieldTO (to) ed
eseguire un loop di inserimento sulla differenza dei due valori (TextFieldA
meno TextFieldDA).
I numeri che devo inserire sono ad esempio From  1000 To 1450, e, farlo
manualmente è decisamente .......un po lungo.
Qualcuno puo' aiutarmi?
<input type=text name=TextFieldFROM>
<input type=text name=TexfieldTO>
Ringrazio per ogni suggerimento
Roberto

 wrote in message
news:240u7.100173$P04.8...@news2.tin.it...


 Innanzitutto grazie per la risposta.
La cosa che devo fare è inserire nel Db una serie di dati alfanumerici
ad sempio con questo formato dove due parti sono fisse ed una è mobile.
 From:    ACD1200A
 To:        ACD1480A
 Le parti fisse potrebbero anche contenere degli spazi.
Per evitare di doverli scrivere tutti ad uno ad uno, pensavo di fare 2
coppie di 3 texfield ed inserire i dati in questo modo:
From:  ACD     1200   A
To:      ACD     1480   A
In questo modo ad ogni ciclo la parte numerica potrebbe essere
incrementata di 1 ed il dato da inserire nel DB sarebbe l'unione delle tre
stringhe.
Ora provo ad utilizzare il tuo suggerimento, ma sicuramente avrò
bisogno di qualche correzione.
 Supponendo che TextFieldFROM sia il campo mobile di partenza e
TextFieldTO sia quello finale
  ' dichiarazioni per il ciclo
 ' molto probabilmente quelle che ho aggiunto non sono necessarie
   Dim lngFrom
    Dim lngTo
    Dim Partemobile
    Dim StringaIntera
    Dim Partefissa1
    Dim Partefissa2
    Dim Incremento
     Incremento=(Request.Form("TextFieldFROM)) 'se non sbaglio così
incremento dovrebbe diventare un valore numerico
  ' converte i parametri numerici a subtype di variant (long)
     lngFrom = CLng(Request.Form("TextFieldFROM"))
     lngTo = CLng(Request.Form("TexfieldTO"))
      ' esegue il ciclo con il range specificato dai parametri
      For lngLoop = lngFrom To lngTo
       ' per ogni ciclo lngLoop contiene il valore da inserire nel DB
     StringaIntera=Request.Form("TexfieldPARTEFISSA1") &  Incremento &
Request.Form("TexfieldPARTEFISSA2")
     Incremento=Incremento +1
 INSERT INTO .......StringaIntera
.....
    Next
 Cosa ne pensi? Dici che funzionerà?
Grazie
 Roberto

 incremento dovrebbe diventare un valore numerico
    non occorre utilizzare la variabile incremento; il valore di incremento
la trovi gia' nel ciclo for


Il problema è che i  dati hanno sempre formati  diversi.
Questi dati non sono nient'altro che i codici a barre dell'hardware dei Pc.
Ogni ditta produttrice di harware utilizza un proprio metodo di scrittura
del codice.
Ad esempio nei codici di IBM trovi Stabilimento di produzione, anno, lotto,
n° di serie, etc
Altri produttori usano lettere per identificare l'anno di produzione o
quant'altro per il resto
Ho valutato i codici di circa 100 produttori e non esiste logica che li
accomuni, se non il fatto che al massimo sono composti da due parti fisse (o
una) ed una mobile.
I dati che devo inserire poi devono essere esattamente quelli che leggerà la
pistola laser (che quindi legge anche gli eventuali spazi), perchè poi li
ristampo in formato Barcode o in formato alfanumerico a seconda
dell'utilizzo.
L'unica cosa possibile è quindi quella di rimontare la stringa da inserire
da tra textbox, mantenendo gli eventuali spazi inseriti nelle parti fisse.
L'unico limite sarà dato dall'operatore che inserirà i codici che dovrà
avere l'accortezza di identificare quale parte sia mobile.
Credo che si debba tornare alle versioni precedenti, tu pensi che non
funzioni quella che ho tentato di scrivere?
Ti ringrazio se potrai darmi una mano.
Roberto


quello che non capisco allora e' perche' devi fare gli inserimenti in
sequenza se poi sono codici diversi (potrebbe anche non esistere un codice
intermedio: ad esempio tu carichi il codice ASD1040 e come ultimo ASD1066 ma
e' sicuro che devi inserire tutti i codici compresi tra i due numeri? cioe'
esiste il codice ASD1055? ecc. ecc..)
A questo punto ti conviene fare un inserimento per volta.
Oppure, io ti consiglierei, di inserire tutti i codici in un Array e di
spedire l'array che poi sara' parsato (su ogni elemento).
Vantaggio?:
    - fai comunque un ciclo senza, comunque, preoccuparti di come e' fatto
il codice
    - il codice articolo non deve essere spezzato evitando richi inutili
(vulnerabilita' dell'applicazione dovuto ad una operazione da fare da parte
di un operatore)
    - il codice articolo non deve essere ricomposto (non si deve conoscere
la logica del codice articolo)
    - l'applicazione e' estendibile piu' facilmente (nel senso che se trovi
un codice completamente diverso - ad esempio di 4 parti anzicche' di tre)
non devi rittocare ne l'HTML ne l'ASP!!!
Simone Medas