Inserimento multiplo di 2 o piu record

  • Creatore Discussione Creatore Discussione lobo90
  • Data di inizio Data di inizio

lobo90

Nuovo Utente
22 Feb 2010
7
0
0
Ciao a tutti avrei bisogno che il mio form per l'inserimento dei dati inserisca 2 record contemporaneamente vi faccio vedere il codice:
HTML:
<form id="form1" name="form1" method="POST" action="<%=MM_editAction%>">
  <label>Numero comanda
  <input type="text" name="textfield" />
  </label>
  <label>Data
  <input type="text" name="textfield2" value="<%=Date%>" />
  </label>
  <p>
    <label>
    <select name="select">
      <%
While (NOT Menu.EOF)
%>
      <option value="<%=(Menu.Fields.Item("Cod_Piatto").Value)%>"><%=(Menu.Fields.Item("Piatto").Value)%></option>
      <%
  Menu.MoveNext()
Wend
If (Menu.CursorType > 0) Then
  Menu.MoveFirst
Else
  Menu.Requery
End If
%>
    </select>
    </label>
    <label>
    <select name="select2" id="select2">
      <%
While (NOT Menu.EOF)
%>
      <option value="<%=(Menu.Fields.Item("Cod_Piatto").Value)%>"><%=(Menu.Fields.Item("Piatto").Value)%></option>
      <%
  Menu.MoveNext()
Wend
If (Menu.CursorType > 0) Then
  Menu.MoveFirst
Else
  Menu.Requery
End If
%>
    </select>
    </label>
  </p>
  <p>
    <label>
    <input type="submit" name="Submit" value="Invia" />
    </label>
  </p>

  <input type="hidden" name="MM_insert" value="form1">
</form>

Come notate textfield e textfield2 devono essere ripetute per tutte e 2 le select...in modo tale da ottenere una tabella con:
COD_ORD | COD_PIATTO | DATA
.......1.....|.......3...........|..22/02/2010
.......1.....|.......1...........|..22/02/2010
.......2.....|.......4...........|..22/02/2010
.......2.....|.......5...........|..22/02/2010
Come posso fare?? Grazie
 
Sinceramente il form mi sembra confuso, comunque ti posto la mia idea:

Codice:
<%

' INSERISCO LA PRIMA RIGA
	set dbConn = server.CreateObject ("ADODB.Connection")
		dbConn.ConnectionString = nome_connessione
		dbConn.Open
		strSQL = "insert into NOME_TABELLA "&_
		"(COD_ORD, COD_PIATTO, DATA) "&_
		"values "&_
		"('"&Request.Form("textfield")&"', '"&Request.Form("textfield2")&"', '"&Request.Form("NOME_1°_SELECT")&"')"
		dbConn.Execute strSQL
	set dbConn = nothing
' INSERITO :)

' INSERISCO LA SECONDA RIGA
	set dbConn = server.CreateObject ("ADODB.Connection")
		dbConn.ConnectionString = nome_connessione
		dbConn.Open
		strSQL = "insert into NOME_TABELLA "&_
		"(COD_ORD, COD_PIATTO, DATA) "&_
		"values "&_
		"('"&Request.Form("textfield")&"', '"&Request.Form("textfield2")&"', '"&Request.Form("NOME_2°_SELECT")&"')"
		dbConn.Execute strSQL
	set dbConn = nothing
' INSERITO ;)


%>

Ripeto dal form non ci ho capito molto, i nomi dei campi sono ad intuizione.
Se mi posti i nomi dei soli form e la colonna rispettiva del DB sarebbe molto + semplice.
 
Scusa hai ragione ti posto l'immagine della tabella e dela pagina asp:
Immagine2.JPG

la pagina è questa io tramite il form dovrei inserire il CodComanda la data e nelle select i piatti in questa tabella:
Immagine.JPG

Ottenedo una cosa del genere:
Immagine3.JPG

Per cui il CodComanda e Data si ripete...il codice del form corretto:
HTML:
<form id="form1" name="form1" method="POST" action="<%=MM_editAction%>">
  <label>Numero comanda
  <input name="CodCom" type="text" id="CodCom" />
  </label>
  <label>Data
  <input name="Datta" type="text" id="Datta" value="<%=Date%>" />
  </label>
  <p>
    <label>
    <select name="select">
      <%
While (NOT Menu.EOF)
%>
      <option value="<%=(Menu.Fields.Item("Cod_Piatto").Value)%>"><%=(Menu.Fields.Item("Piatto").Value)%></option>
      <%
  Menu.MoveNext()
Wend
If (Menu.CursorType > 0) Then
  Menu.MoveFirst
Else
  Menu.Requery
End If
%>
    </select>
    </label>
    <label>
    <select name="select2" id="select2">
      <%
While (NOT Menu.EOF)
%>
      <option value="<%=(Menu.Fields.Item("Cod_Piatto").Value)%>"><%=(Menu.Fields.Item("Piatto").Value)%></option>
      <%
  Menu.MoveNext()
Wend
If (Menu.CursorType > 0) Then
  Menu.MoveFirst
Else
  Menu.Requery
End If
%>
    </select>
    </label>
  </p>
  <p>
    <label>
    <input type="submit" name="Submit" value="Invia" />
    </label>
  </p>

  <input type="hidden" name="MM_insert" value="form1">
</form>

Uso Dreamweaver per la connessione al db
 
Compilami quanto indicato nelle parentesi:

Nome file access: (Nome file)
Nome tabella: (nome tabella)

form: "CodCom" va nella colonna (nome colonna)
form: "Data" va nella colonna (nome colonna)
form: "select" va nella colonna (nome colonna)
form: "select2" va nella colonna (nome colonna)

:dipser:
 
Nome file access: (db.mdb)
Nome tabella: (Piatti_Ordinati)

form: "CodCom" va nella colonna (Cod_Ordine)
form: "Data" va nella colonna (Data)
form: "select" va nella colonna (Cod_Piatto)
form: "select2" va nella colonna (Cod_Piatto)-->Facendo ripetere il Cod_ordine e Data
 
Prova così, non sono sicuro perchè non ho modo di provarlo.

1) copia il seguente codice e salvalo in una pagina chiamata "update.asp"

Codice:
<%

' data orario europeo
' Dim LCID
	LCID = 1040 
	Session.LCID = LCID 

	Dim connessione
	Dim CodCon
	Dim Data
	Dim Cod_Piatto
	Dim Cod_Piatto2
	Dim dbConn
	Dim strSQL

' connessione al db (controlla il percorso)
	connessione = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db.mdb") 
' recupero i dati dai form
CodCon 		= Request.Form("CodCom")
Data 		= Request.Form("Data")
Cod_Piatto 	= Request.Form("select")
Cod_Piatto2 = Request-Form("select2")

' effettuo un controllo di sicurezza

If CodCon <> "" AND Data <> "" AND Cod_piatto <> "" AND Cod_piatto2 <> "" Then
' tutti i campi compilati, proseguo

' INSERISCO LA PRIMA RIGA
	set dbConn = server.CreateObject ("ADODB.Connection")
		dbConn.ConnectionString = connessione
		dbConn.Open
		strSQL = "insert into Piatti_Ordinati (Cod_Ordine, Data, Cod_Piatto) "&_
		"values ('"&CodCon&"', '"&Data&"', '"&Cod_Piatto&"')"
		dbConn.Execute strSQL
	set dbConn = nothing
' INSERITO :)

' INSERISCO LA SECONDA RIGA
	set dbConn = server.CreateObject ("ADODB.Connection")
		dbConn.ConnectionString = connessione
		dbConn.Open
		strSQL = "insert into Piatti_Ordinati (Cod_Ordine, Data, Cod_Piatto) "&_
		"values ('"&CodCon&"', '"&Data&"', '"&Cod_Piatto2&"')"
		dbConn.Execute strSQL
	set dbConn = nothing
' INSERITO ;)

referer = request.ServerVariables("HTTP_REFERER")
querys = request.ServerVariables("QUERY_STRING")
url = referer&querys

' qui puoi effettuare il redirect diove vuoi te
response.Redirect url ' redirect nella pagina nativa 

End If 

%>

Modifica il form così:

Codice:
<form id="form1" name="form1" method="POST" action="update.asp">
<label>Numero comanda <input name="CodCom" type="text" id="CodCom" /></label>
<label>Data <input name="Data" type="text" id="Data" value="<%=Date(Now())%>" /></label>
<p><label><select name="select"><%

While (NOT Menu.EOF)

%><option value="<%=(Menu.Fields.Item("Cod_Piatto").Value)%>"><%=(Menu.Fields.Item("Piatto").Value)%></option><%

  Menu.MoveNext()
Wend
If (Menu.CursorType > 0) Then
  Menu.MoveFirst
Else
  Menu.Requery
End If

%></select></label>
<label><select name="select2" id="select2"><%

While (NOT Menu.EOF)

%><option value="<%=(Menu.Fields.Item("Cod_Piatto").Value)%>"><%=(Menu.Fields.Item("Piatto").Value)%></option><%

  Menu.MoveNext()
Wend
If (Menu.CursorType > 0) Then
  Menu.MoveFirst
Else
  Menu.Requery
End If


%></select></label>

</p>
<p><label><input type="submit" name="Submit" value="Invia" /></label></p>
</form>

fattiti una copia dei tuoi file originali.
Non potendolo provare e scrivendolo di sana pianta non so se ho commesso qualche errore di battitura.

Che dio ce la mandi buona 0:)
 

Discussioni simili