---
title: "Loopa in värden i access"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/65586-loopa-in-värden-i-access"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Jesper T"
published: "2003-01-20T20:43:51.000Z"
updated: "2003-01-23T12:41:30.000Z"
replies: 12
views: 314
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/65586-loopa-in-värden-i-access"
---

# Loopa in värden i access

## #1 — Jesper T, 2003-01-20T20:43Z

Skulle behöva loopa in värden ifrån ett textfield i ett formulär.

Databasen ser ut som följer:

```
[red] strText | intKategori | intVarde
----------------------------------[/red]
```

När ett # kommer så skulle jag vilja att intKategori skall plussas på med 1. I exemplet nedan så läggs rad ett och två in under intKategori 1 och den tredje raden läggs in under intKategori 2 osv. Rader(Nya poster) separeras med ett asterix(\*)
Textfältsvärde:

```
[blue]Här kommer en text|19*Här kommer en annan text|31*#Text igen|40 [/blue]
```

Är det någon som har en idé?

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

## #2 — crisse6, 2003-01-21T04:16Z

Borde det inte typ ga att lagga if-sats i loopen?:

```
Do until rs.eof
'vet ej, men anvanda om det finns # i vardet....
If rs("textfalt") = "#" then
  intKategori = + 1
End IF
'annat......
rs.movenext
loop
```

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

## #3 — Jesper T, 2003-01-21T05:05Z

Nja, nu har du väl fått detta om bakfoten. ;)

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

## #4 — LR^evil.sid, 2003-01-21T07:26Z

```
do until strIn = ""
	sql = "insert into tabell " & _
	      "(strText, intVarde"
	if instr(strIn, "#" then sql = ", intKategori) " else sql = ") "
	sql = "values (" & _
	      "'"&left(strIn, inStr(strIn, "|") - 1)&"', " & _
	      ""&mid(strIn, instr(strIn, "|"), instr(strIn, "*") - 1)&""
	if instr(strIn, "#" then
		sql = ", intKategori = intKategori + 1"
		strIn = right(strIn, inStr(strIn, "#"))
	else
		sql = ")"
		strIn = right(strIn, inStr(strIn, "*"))
	end if
	con.execute(sql),,128
loop
set con = nothing
```

Typ något sådant eller?

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

## #5 — Jesper T, 2003-01-21T08:31Z

Tack, men...
Nu står det:Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'. 
Om jag komentrar bort executen och skriver ut sql:en så står det:Invalid argument "mid" line 21---\>

```
""&mid(strIn, instr(strIn, "|"), instr(strIn, "*") - 1)&""
```

Hela koden kommer här:

```
<%
strIn=request.form("loop")
Dim objConn,strSQL
Set objConn = Server.CreateObject("ADODB.Connection") 
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("links.mdb")
objConn.open
do until strIn = ""
	sql = "insert into Trainexe " & _
	      "(sublink_name, sublink_sublinkID "
	if instr(strIn, "#") then sql = ", sublink_linkID) " else sql = ") "
	sql = "values (" & _
	      "'"&left(strIn, inStr(strIn, "|") - 1)&"', " & _
	      ""&mid(strIn, instr(strIn, "|"), instr(strIn, "*") - 1)&""
	if instr(strIn, "#") then
		sql = ", sublink_linkID = sublink_linkID + 1"
		strIn = right(strIn, inStr(strIn, "#"))
	else
		sql = ")"
		strIn = right(strIn, inStr(strIn, "*"))
  end if
	objConn.Execute(sql),,128
	
loop
objConn.Close
set objConn=nothing
%>
```

 :OO

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

## #6 — LR^evil.sid, 2003-01-21T09:06Z

Men finns det någon "\|" i stringen då?

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

## #7 — Jesper T, 2003-01-21T16:21Z

Ja.

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

## #8 — LR^evil.sid, 2003-01-21T20:12Z

Finns det något tecken framför "\*"?

```
[red]mid(strIn, instr(strIn, "|"), instr(strIn, "*") [blue][b]- 1[/b][/blue])[/red]
```

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

## #9 — Jesper T, 2003-01-22T22:21Z

Det jag lägger in i textfältet är detta:

```
Cykling, <15 km/h, allmänt, lugnt|4* Cykling, >30 km/h, tävling|16* Cykling, 15-20 km/h, långsam, lätt ansträngning|6* Cykling, 20-23 km/h, måttlig ansträngning|8* Cykling, 23-26 km/h, snabb, kraftig ansträngning|10* Cykling, BMX eller mountainbike|8.5* # Cykling, stilla, lätt ansträngning|5.5* Cykling, stilla, måttlig ansträngning|5.5* Cykling, stilla, mycket kraftig ansträngning|12.5
```

 Jag får samma fel.

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

## #10 — Jesper T, 2003-01-22T23:24Z

Ingen som vet? Jag fattar 0!

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

## #11 — Jesper T, 2003-01-23T11:58Z

help!

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

## #12 — solbulle, 2003-01-23T12:31Z

Ser helknasigt ut tycker jag. Denna bit:

```
else
		sql = ")"
		strIn = right(strIn, inStr(strIn, "*"))
  end if
```

Kan ju göra att du står med en sql som lyder:

sql = ")"

Inte riktigt rätt va?

Kanske ska vara:

```
sql = sql & ")"
```

Löser väl iofs inte ditt problem...

RED. samma fel genomgående ser det ut som.

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

## #13 — Jesper T, 2003-01-23T12:41Z

Ja, det verkar vara rappakalja av det mesta här...

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/65586-loopa-in-värden-i-access
