Hejsan Långt svar och jag tog med några exempel så du ser hur jag började och tänkte: Tack för det utmärkta svaret. Precis vad jag behövde.Dela data och lägga in i databas
Har fått hjälp med detta förut, dock inte fullt ut.
Jag hämtar data från en av mina sidor med XMLHTTP.
Jag får ut detta efter att jag fixat med texten jag hämtat.
2003/12/09;;;18:30;;;1;;;12345.html?test1;;;Text1;;;Stad1;;;Pistol,,,, 2003/12/09;;;18:27;;;1;;;32445.html?test2;;;Text2;;;Stad3;;;Älgstutsare,,,, 2003/12/09;;;18:56;;;1;;;33685.html?test4;;;Text4;;;Stad4;;;Bazooka,,,,
Koden är tagen direkt från det jag får ut efter att ha ändrat det lite så jag fårr in (,,,,) som avskiljare för ny rad och (;;;) för ny kolumn. (Har dessa fula tecken för att verkligen få de unika)
Nu vill jag ha in detta i min databas. Men jag får det inte att fungera. Jag försöker använda funktionen split() med arrayer och sedan trycka in det i databsen men då slänger den in första raden sedan blir det jättefel.
Vet att det skapas ett mellanslag efter varje "rad" det kanske inte är bra, men jag tycker inte det borde spela någon roll.
Jag tcyker detta borde vara jättelätt, men jag lyckas inte ;(
Snälla hjälp mig! Tack på förhand.Sv: Dela data och lägga in i databas
<info>
Dim x As String
x = "2003/12/09;;;18:30;;;1;;;12345.html?test1;;;Text1;;;Stad1;;;Pistol,,,, 2003/12/09;;;18:27;;;1;;;32445.html?test2;;;Text2;;;Stad3;;;Älgstutsare,,,, 2003/12/09;;;18:56;;;1;;;33685.html?test4;;;Text4;;;Stad4;;;Bazooka,,,,"
y = Split(x, ",,,,")
For a = 0 To UBound(y) - 1
' Debug.Print y(a)
Next
' 2003/12/09;;;18:30;;;1;;;12345.html?test1;;;Text1;;;Stad1;;;Pistol
' 2003/12/09;;;18:27;;;1;;;32445.html?test2;;;Text2;;;Stad3;;;Älgstutsare
' 2003/12/09;;;18:56;;;1;;;33685.html?test4;;;Text4;;;Stad4;;;Bazooka
For a = 0 To UBound(y) - 1
z = Split(y(a), ";;;")
For b = 0 To UBound(z)
Debug.Print z(b) & "|";
Next
Debug.Print vbCrLf
Next
' 2003/12/09|18:30|1|12345.html?test1|Text1|Stad1|Pistol|
' 2003/12/09|18:27|1|32445.html?test2|Text2|Stad3|Älgstutsare|
' 2003/12/09|18:56|1|33685.html?test4|Text4|Stad4|Bazooka|
For a = 0 To UBound(y) - 1
z = Split(y(a), ";;;")
sql = ""
For b = 0 To UBound(z)
sql = sql & "'" & Replace(z(b), "'", "''") & "',"
Next
' tar bort sista , tecknet
Debug.Print Left(sql, Len(sql) - 1)
Debug.Print vbCrLf
Next
' 2003/12/09','18:30','1','12345.html?test1','Text1','Stad1','Pistol',
' 2003/12/09','18:27','1','32445.html?test2','Text2','Stad3','Älgstutsare',
' 2003/12/09','18:56','1','33685.html?test4','Text4','Stad4','Bazooka',
</info>
Här kommer den kompletta koden:
<info>
' -- hela körningen
Set con = server.CreateObject("adodb.connection")
con.open application("dsn")
For a = 0 To UBound(y) - 1
z = Split(y(a), ";;;")
sql = ""
For b = 0 To UBound(z)
sql = sql & "'" & Replace(z(b), "'", "''") & "',"
Next
sql = Left(sql, Len(sql) - 1)
con.execute("insert into table values(a,b,c,d,e,f) values(" & sql & ")"
Next
Set con = Nothing
</info>
Obs! Är det en accessdatabas skall du innesluta datumfält med # # istället för ' '.
Lycka tillSv: Dela data och lägga in i databas
Tack ännu en gång.