Spara flera forms i 1 kolumn.

ASP

3 svar · 194 visningar · startad av Mz

Medlem sedan aug. 2001139 inlägg
Trådstart#1

Hej.

Kanske lite missvisande ämne, men...
Jag försöker spara ner värdet från 6 olika form-text-fält till en kolumn i min Access-db, varje värde får en ny rad i databasen med eget unikt ID. ex.

| ID | a1 | a2 |
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
| 10 | A | X |
| 9 | W | T |
| 8 | Z | P |
osv...

• I a1 samlar jag värden från formuläret a1_1, a1_2 osv. som innehåller 6st textfält.

• I a2 samlar jag värden från formuläret a2_1, a2_2 osv. som också innehåller 6 olika textfält.

Det borde väl finnas ett enklare sätt än att köra en SQL-sats för varje värde som man stoppar in i tabellen, typ någon Loop eller FOR-sats kanske?

Är det någon som förstår hur jag menar? ;)

Tacksam för hjälp.

Medlem sedan aug. 2001139 inlägg
#2

För att förtydliga det en aning..

Om jag skulle köra en Response.Write SQL så vill jag att resultatet skulle bli nått liknande detta:

INSERT INTO Alternativ(altID, alt1) VALUES('november', 'X1')
INSERT INTO Alternativ(altID, alt1) VALUES('november', 'X2')
INSERT INTO Alternativ(altID, alt1) VALUES('november', 'X3')
INSERT INTO Alternativ(altID, alt1) VALUES('november', 'X4')
INSERT INTO Alternativ(altID, alt1) VALUES('november', 'X5')
INSERT INTO Alternativ(altID, alt1) VALUES('november', 'X6')

Där X1-X6 är värdet som kommer från respektive form-textfält.

Hjälpte detta nått kanske? :)

Medlem sedan dec. 200012 464 inlägg
#3
set connect = server.createobject("ADODB.Connection")
connect.open "dsn"
s = "insert into X(a1,a2) values "

for i = 1 to 6
  a1 = "'" & replace(request.form("a1" & i),"'","''") & "'"
  a2 = "'" & replace(request.form("a2" & i),"'","''") & "'"
  sql = s & "(" & a1 & "," & a2 & ")"
  connect.execute sql,,128
next
connect.close

red: X( vart något som jag inte tänkte på

Medlem sedan aug. 2001139 inlägg
#4

Jag fick det inte redigt att fungera, men jag fick till det till sist.

tempSQL = "INSERT INTO Alternativ(alt1,alt2,alt3,alt4,alt5,alt6,alt7,alt8,alt9,alt10) VALUES "
	
For i = 1 to 6
	alt1 = trim(Request.Form("a1_"& i &""))
	alt2 = trim(Request.Form("a2_"& i &""))
	alt3 = trim(Request.Form("a3_"& i &""))
	alt4 = trim(Request.Form("a4_"& i &""))
	alt5 = trim(Request.Form("a5_"& i &""))
	alt6 = trim(Request.Form("a6_"& i &""))
	alt7 = trim(Request.Form("a7_"& i &""))
	alt8 = trim(Request.Form("a8_"& i &""))
	alt9 = trim(Request.Form("a9_"& i &""))
	alt10 = trim(Request.Form("a10_"& i &""))
	
	SQL = tempSQL & "('"& alt1 &"','"& alt2 &"','"& alt3 &"','"& alt4 &"','"& alt5 &"','"& alt6 &"','"& alt7 &"','"& alt8 &"','"& alt9 &"','"& alt10 &"')"
	Connect.Execute SQL
Next

Eftersom det är jag själv som styr värdet så behövs inga replace... :)

Tack för hjälpen !

270 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)