Jag listar ett antal poster från tabell1 på sida 1. Användaren kan markera en kryssruta bredvid posten med value lika med id för posten för att ange att denna på sida 2 skall INSERT:as i tabell2 när han klickar på submit.
Vad är bäst:
-
Att på sida 1 inkludera input-taggar av typ hidden med alla nödvändig information till varje post för att inserten på sida 2 skall kunna se ut så här:
For Each intID in Request.Form("check")
strSQL = "INSERT INTO tabell2 (fld1, fld2) VALUES (" & Request.Form("hidden1") & ", " & Request.Form("hidden2") & ")"
objConn.Execute strSQL
Next
-
Att på sida 2 öppna ett RecordSet enligt:
strSQL = "SELECT value1, value2 FROM tabell1 WHERE id IN (" & Request.Form("check") & ")"
och sedan göra INSERT:s i tabell2 för varje RecSet enligt:
strSQL = "INSERT INTO tabell2 (fld1, fld2) VALUES (" & RecSet("value1") & ", " & RecSet("value2") & ")"
objConn.Execute strSQL
------------------
http://www.tavlingar.se
[Redigerat av kristoffer den 16 jul 2001]
LarsGMedlem sedan dec. 200012 464 inlägg Döp alla checkboxar till samma namn och sätt value-fältet till ditt ID-värde.
Sen kan du göra
strSQL = "INSERT INTO tabell2 (fld1, fld2) select value1,value2 from tabell1 where id IN (" & Request.Form("check") & ")"
objConn.Execute strSQL
------------------
essentitia preter non sans multiplicandum
Heh, det var ju finurligt. Och hur gör man om säg, value1 är statiskt och således inte skall hämtas från tabell1?
------------------
http://www.tavlingar.se
LarsGMedlem sedan dec. 200012 464 inlägg Du kan lägga in statiska värden direkt i select-satsen
strSQL = "INSERT INTO tabell2 (fld1, fld2) select 'Aleb',value2 from tabell1 where id IN (" & Request.Form("check") & ")"
objConn.Execute strSQL
eller
strSQL = "INSERT INTO tabell2 (fld1, fld2) select 4711,value2 from tabell1 where id IN (" & Request.Form("check") & ")"
objConn.Execute strSQL
beroende på datatyp.
------------------
essentitia preter non sans multiplicandum
Ett av fälten, value2, är av datatyp smalldatetime men posten i det fältet ser ut så här:
2001-05-15
När jag försöker sätta in value2 i fld2, som också är av datatyp smalldatetime får jag felmeddelandet:
Syntax error converting character string to smalldatetime data type.
------------------
http://www.tavlingar.se
Har löst det. Det var inget fel egentligen.
------------------
http://www.tavlingar.se
Hur gör jag om jag vill hämta värden från två tabeller?
INSERT INTO tabell1 (kolumn1, kolumn2) SELECT myValue1 FROM tabell2 WHERE id = 40, SELECT myValue2 FROM tabell3 WHERE id = 1
Ovanstående fungerar inte.
------------------
http://www.tavlingar.se
LarsGMedlem sedan dec. 200012 464 inlägg Det beror liksom på. Finns det någon koppling mellan tabell2 och tabell3 eller vill du bara ta alla (som uppfyller villkoren) från båda tabellerna?
Om det senare så kan du ju skriva det med en union
insert into tabell1 (c1,c2)
select c1,c2 from tabell2 where id = 1
union select c1,c2 from tabell3 where id = 40
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 19 jul 2001]
Hm. Det var jag som hade fått hjärnsläpp. Så här enkelt var det:
INSERT INTO tabell1 (kolumn1, kolumn2) SELECT tabell2.myValue1, tabell3.myValue2 FROM tabell2, tabell3 WHERE tabell2.id = 40 AND tabell3.id = 1
------------------
http://www.tavlingar.se
RinaldoMedlem sedan mars 20014 214 inlägg ehe, kanske inte har nåt med ämnet att göra men jag tycker det är lite roligt att du på din hemsida har en räknare från thecounter.com fast du bygger i ASP. ;)
------------------
Man kan ta den säkra vägen: Göra en stilren sida, snygg men lätt.
Eller så kan man ta den svåra: Mycket grafik och flashiga ting, och riskera att mislyckas.
Heh, ja, det är inte helt bra. :) Den finns med sedan begynnelsen då jag inte kunde ASP. Nu har thecounter.com helt plötsligt bestämt att man skall betala för att få visa den osynliga varianten. (Frågan är iofs om man kan visa något som är osynligt :)) Den kommer alltså att avlägsnas alldeles snart.
------------------
http://www.tavlingar.se