---
title: "split(sträng) och array"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/59706-split-sträng-och-array"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "JAreMANNEN"
published: "2002-11-19T18:27:31.000Z"
updated: "2002-11-20T09:01:09.000Z"
replies: 9
views: 367
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/59706-split-sträng-och-array"
---

# split(sträng) och array

## #1 — JAreMANNEN, 2002-11-19T18:27Z

**EXAKT** följande text skriver jag in i en \<textarea\>:

*janne
bruno
klas#
berit
maggan
eva#
ragnhild
fredrik
mårten*

Tecknet # betyder att här ska Datumet adderas med 1.
VARJE ny rad (vbcrlf) i \<textarea\> betyder EN NY POST i databasen.

Allt detta hade jag tänkt att fixa med split() och en array (eller så många som behövs).

Posterna i databasen ska se ut på följande vis:
**Namn &nbsp; &nbsp;\| Datum**
\---------\|---------
janne &nbsp; &nbsp; \| 2002-11-19
bruno &nbsp; &nbsp; \| 2002-11-19
klas &nbsp; &nbsp; &nbsp; \| 2002-11-19
berit &nbsp; &nbsp; &nbsp;\| 2002-11-20
maggan &nbsp;\| 2002-11-20
eva &nbsp; &nbsp; &nbsp; \| 2002-11-20
ragnhild \| 2002-11-21
fredrik &nbsp; \| 2002-11-21
mårten &nbsp;\| 2002-11-21

Hoppas att ni fattar detta nu.. ;)
Annars får ni hojta till!

Permalänk: https://www.webforum.nu/p/59706

## #2 — @nders, 2002-11-19T18:38Z

Nu förutsätter jag vissa saker, men någonting sånt här borde fjunka:

```
varMyArray = Split(strValues, vbCrLf)
dteDate = Date
for i = 0 to ubound(varMyArray)
	if right(varMyArray(i), 1) = "#" then dteDate = DateAdd("d", 1, dteDate)
	strSQL = "INSERT INTO Tabell (fldNamn, fldDatum) VALUES ('" & Replace(Replace(varMyArray(i), "#", ""), "'","''") & "', #" & dteDatum & "#)"
	'Exekvera!
next
```

Mvh,

Permalänk: https://www.webforum.nu/p/860633

## #3 — trexter.com, 2002-11-19T18:41Z

Kolla lite på detta, kod från ett gammalt, gammmal projekt. Det där med datumet vet jag iten, är inte så bra på det...

```
If Request.QueryString("Way") = "delivery" Then
TheString = Request.Form("orderID")
TheString = Replace(TheString,Chr(13)&Chr(10),"") 
TheArray = Split(TheString,",")
For i = 0 To Ubound(TheArray)
	Delivery = "UPDATE orders SET Delivered = '" & Date & "' WHERE orderID = '" & TheArray(i) & "' "
	Connect.Execute(Delivery)
Next
End If
```

Då skrev jag så här i rutan:
7834238934,
38983443,
38833

 :)

Permalänk: https://www.webforum.nu/p/860634

## #4 — Palleman, 2002-11-19T18:57Z

> **@nders skrev:**
>
> Nu förutsätter jag vissa saker, men någonting sånt här borde fjunka:
>
> ```
> varMyArray = Split(strValues, vbCrLf)
> dteDate = Date
> for i = 0 to ubound(varMyArray)
> 	if right(varMyArray(i), 1) = "#" then dteDate = DateAdd("d", 1, dteDate)
> 	strSQL = "INSERT INTO Tabell (fldNamn, fldDatum) VALUES ('" & Replace(Replace(varMyArray(i), "#", ""), "'","''") & "', #" & dteDatum & "#)"
> 	'Exekvera!
> next
> ```
>
> Mvh,

Smidig kod @nders! :)
Men.. borde inte dteDate = Date flyttas in i for-satsen för att få det mer korrekt?

Permalänk: https://www.webforum.nu/p/860653

## #5 — @nders, 2002-11-19T19:01Z

> **Palleman skrev:**
>
> Men.. borde inte dteDate = Date flyttas in i for-satsen för att få det mer korrekt?

Inte som jag tolkar frågan. Om jag förstår saken rätt skall datumet räknas upp med ett för varje brädgård som återfinns sist, efter namnet, men inte återställas någon gång. Om det däremot skulle läggas på en dag på dagens datum, istället för senast begagnat datum, för varje brädgård som dyker upp, så har du helt rätt.

Så du eller jag missuppfattar frågan en aning tror jag, men inte värre än att det går lätt att pilla till. ;)

Mvh,

Permalänk: https://www.webforum.nu/p/860662

## #6 — Palleman, 2002-11-19T19:18Z

Ähumm.. :r
Som min fänrik sa: *Du har rätt, jag har fel - jag bestraffar mig själv med 50 armhävningar..*

Nu såg jag, läste inte frågan ordentligt.. sorry ;)

Permalänk: https://www.webforum.nu/p/860690

## #7 — JAreMANNEN, 2002-11-19T21:21Z

kanoon "gubbar".. :P

Ska kolla upp det imorgon, ser lovande ut..

Permalänk: https://www.webforum.nu/p/860776

## #8 — JAreMANNEN, 2002-11-20T08:44Z

har provat nu, fick göra lite ändringar...

Fick sätta brädgården i början av varje namn istället, annars så blev den raden med brädgården sist "nästa" datum..

```
strText = request.form("text")
varArray = split (strText, vbCrLf)
Datums = CDate(Datums)
     for i = 0 to ubound(varArray)
          if left(varArray(i), 1) = "#" then Datums = DateAdd("d", 1, Datums)
          SQL:en
          Exekveringen!
     next
```

Tack ska ni ha, nu kan jag sova gott inatt. ;)

Permalänk: https://www.webforum.nu/p/860970

## #9 — @nders, 2002-11-20T08:53Z

> **JAreMANNEN skrev:**
>
> Fick sätta brädgården i början av varje namn istället, annars så blev den raden med brädgården sist "nästa" datum..

Annars hade du ju kunnat flytta if-satsen till precis efter SQL-satsen istället.

mvh,

Permalänk: https://www.webforum.nu/p/860975

## #10 — JAreMANNEN, 2002-11-20T09:01Z

> **@nders skrev:**
>
> > **JAreMANNEN skrev:**
> >
> > Fick sätta brädgården i början av varje namn istället, annars så blev den raden med brädgården sist "nästa" datum..
>
> Annars hade du ju kunnat flytta if-satsen till precis efter SQL-satsen istället.
> 
> mvh,

hrm, där ser man prov på vad *"skiljer den vise från den envise"*  :r

Permalänk: https://www.webforum.nu/p/860979

---

Tråden på webben: https://www.webforum.nu/amne/asp/59706-split-sträng-och-array
