Jag har en textarea där de kommer att stå en massa rader med 3 "kolumner" och varje kolumn avgränsad med t.ex. semikolon. Dela upp rad för rad genom att använda Split(), sedan kan du dela upp en rad igen och också genom Split() Här har du något att utgå ifrån:INSERT ifrån textarea med flera rader
Som så här:
100;Namn1;2003-01-01
200;Namn2;2003-02-02
212;Namn3;2003-04-23
De jag vill nu är att posta dessa rader och inserta alla 3 som poster i en Access-tabell.
De poster som redan ligger i Access-databasen ska ersättas av dessa 3, den ska alltså tömmas eller liknande innan.
Hur gör jag då lättast?Sv: INSERT ifrån textarea med flera rader
Ex:
<code><%
strText = Request.Form("text")
arrRows = Split(strText, vbCrlf) 'Dela upp texten rad för rad
'Databaskoppling
For x = 0 To UBound(arrRows)
arrInfo = Split(arrRows(x), ";") 'Dela upp raden i flera olika dimensioner
objConn.Execute("INSERT INTO tblMinTabell (Id, Namn, Datum) VALUES (" & arrInfo(0) & ", '" & arrInfo(1) & "', '" & arrInfo(2) & "')")
Next
%></code>Sv: INSERT ifrån textarea med flera rader
<code>
Dim strText
Dim Index
Dim Rows
Dim Values
strText = Request.Form("NameOfTextarea")
Rows = Split(strText, vbCrLf)
For Index = 0 To UBound(Rows)
Values = Split(Rows(Index), ";")
If IsNumeric(Values(0)) Then
If IsDate(Values(2)) Then
strSQL = "UPDATE TableNamn SET NameField = '" & Replace(Values(1), "'", "''") & "', DateField = #" & Values(2) & "# WHERE IdField=" & Values(0)
con.Execute strSQL
Else
Response.Write "Invalid Date att row " & Index
End If
Else
Response.Write "Invalid Id att row " & Index
End If
Next
</code>