---
title: "Inläsning av text fil"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/139995-inläsning-av-text-fil"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "devotion"
published: "2005-12-28T19:46:58.000Z"
updated: "2006-01-01T17:25:44.000Z"
replies: 12
views: 606
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/139995-inläsning-av-text-fil"
---

# Inläsning av text fil

## #1 — devotion, 2005-12-28T19:46Z

Hej   :)

Har fljande finfina kod som läser in en textfil till databas:

```
dim objConn, objRS, strLine, iEnumber, strCategory, strUnit, curPrice, strSQL, intCounter

intCounter = 0
set objFSO = Server.CreateObject("Scripting.Filesystemobject")
set objFile = objFSO.OpenTextFile (Server.MapPath("\prislistor\Ahlsellpris.txt"))

Set objConn = Server.CreateObject("ADODB.Connection")

ObjConn.Open = "DSN=uppdragNu"

while not objFile.atendofstream

   intCounter = intCounter +1
    
    strLine = objFile.ReadLine

    iEnumber = Replace(Trim(Mid(strLine, 1, 8)), "'", "''")
	strArticlename = Replace(Trim(Mid(strLine, 39, 46)), "'", "''")
	strUnit = Replace(Trim(Lcase(Mid(strLine, 21, 3))), "'", "''")

    'Först kör vi en UPDATE om artikeln redan finns
	strSQL = "UPDATE tblExArticle SET eNumber = '" & iEnumber & "', articleName = '" & strArticleName & "', articleUnit = '" & strUnit & "' WHERE eNumber = '" & iEnumber & "'"
    objConn.Execute strSQL, lngRA, 128

	if lngRa = 0 then
		'Ny artikel, gör INSERT
    	strSQL = "INSERT INTO tblExArticle (eNumber, articleName, articleUnit) VALUES ('" & iEnumber & "', '" & strArticleName & "', '" & strUnit & "')"
    	objConn.Execute strSQL,,128
	End if
	
wend

objFile.close
set objFile = nothing
set objFSO = nothing
objConn.Close
Set objConn = Nothing
```

fungerar finfint som sagt...

Hur skulle man kunna bygga ut den att hantera "tomma rader" och felaktiga rader. Som det är nu så sparkar det bakut och inläsningen stoppas....

Mvh
henrik

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

## #2 — @nders, 2005-12-28T19:48Z

Vad innehåller en tom rad? ingenting?

```
if not strLine = "" then

     ' fooo

end if
```

Du kan använda on error resume next för att strunta i alla fel som inträffar.

mvh

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

## #3 — devotion, 2005-12-28T19:52Z

> **@nders skrev:**
>
> Vad innehåller en tom rad? ingenting?
>
> ```
> if not strLine = "" then
> 
>      ' fooo
> 
> end if
> ```

Jepp. Den är bara blank

> **@nders skrev:**
>
> Du kan använda on error resume next för att strunta i alla fel som inträffar.
> 
> mvh

Hur skulle en sådan lösning se ut? det får ju inte skrivas någonting till datab asen. Bara hoppa över

Mvh
Henrik

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

## #4 — @nders, 2005-12-28T19:55Z

> Jepp. Den är bara blank

Dåså.

> Hur skulle en sådan lösning se ut? det får ju inte skrivas någonting till datab asen. Bara hoppa över

Hmm, det vet väl inte jag. Vad är det som går fel?

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

## #5 — Compusa, 2005-12-28T19:56Z

Den som söker, den finner... ;)
<http://www.webforum.nu/showthread.php?t=136838&highlight=error+resume>

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

## #6 — lilja, 2005-12-28T19:56Z

Du får göra en egen felhanterare. Felen kan hämtas ur variabeln err.

T.ex.

err.number
err.description

Eller hur är det man gör? :P

r/ Attans också, för sent ute :P

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

## #7 — devotion, 2005-12-28T19:57Z

hehe... jag ska framkalla ett fel och posta felmeddelandet....

Mvh
henrik

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

## #8 — devotion, 2005-12-28T19:59Z

> **Compusa skrev:**
>
> Den som söker, den finner... ;)
> <http://www.webforum.nu/showthread.php?t=136838&highlight=error+resume>

  :)  
Hmmmf....

Mvh
Henrik

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

## #9 — @nders, 2005-12-28T20:00Z

Nja, alltså vilken del i koden är det det blir fel på?
Med on error resume next fortsätter koden att köra efter den felaktiga raden. Om det inte är databasfrågandet det blir fel på, sätt en if-sats som kontrollerar att felnumret i Err-objektet är 0.

Glöm inte att sist i loopen nollställa Err-objektet...

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

## #10 — devotion, 2005-12-29T11:52Z

Hej lite förtydligande är kanske på sin plats....

En textrad i Ahlsells prisfil ser ut så här:

```
1018265J00008150V309ST               XHYLSSKRUVMEJSEL 11MM
```

Det finns ju en filbeskrivning också, som jag bifogar.

Nu ska ju filen vara intakt, men det hade känts fint att validera indatat så det verkligen höll det utlovade formatet.

Hur skulle man kunna validera att raden håller formatet?

Mvh
henrik

Bilagor:

- [prisfilEL.pdf](https://www.webforum.nu/a/9000.pdf)

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

## #11 — @nders, 2005-12-29T11:53Z

> Hur skulle man kunna validera att raden håller formatet?

Skriv ett regexp-mönster för reglerna, så kan du validera varje rad för sig innan du försöker dig på att stoppa in ofullständiga grejer i databasen.

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

## #12 — devotion, 2005-12-29T11:58Z

> **@nders skrev:**
>
> > Hur skulle man kunna validera att raden håller formatet?
>
> Skriv ett regexp-mönster för reglerna, så kan du validera varje rad för sig innan du försöker dig på att stoppa in ofullständiga grejer i databasen.

Hehe, det är nog lättare sagt än gjort....

Regexp.... hmm

Mvh
henrik

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

## #13 — devotion, 2006-01-01T17:25Z

Hej!

Peter S har varit så snäll och hjälpt mig med att validera de olika delarna av de som jag plockar ut från textfilen. Jag publicerar hans svar här så denna tråden blir klar...  Även som @nders skriver så kan man ju kontrollera att raden inte är tom på ett enkelt sätt enligt:

```
if not strLine = "" then

     ' fooo

end if
```

Så gott folk, här kommer Peter s svar:

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/139995-inläsning-av-text-fil
