---
title: "Funktion problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/67539-funktion-problem"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Addeladde"
published: "2003-02-07T14:51:28.000Z"
updated: "2003-02-07T15:18:23.000Z"
replies: 6
views: 248
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/67539-funktion-problem"
---

# Funktion problem

## #1 — Addeladde, 2003-02-07T14:51Z

Hej

JAg har en funktion som ska ändra lite kod åt mig men jag får det inte att fungera.

Här är funktionen

```
FUNCTION fixaKod( txtcontent, mall, titel, forfattare, indexera, nyckelord, datumStart, datumSlut, con, publicering )
 
  ' öppna Recordset
	Set hamtaMallRS = Server.CreateObject( "ADODB.Recordset" )
	hamtaMallRS.ActiveConnection = Con
	hamtaMallRS.CursorType = 3
	hamtaMallRS.Open "SELECT * FROM mallar WHERE mall_id=" & mall
	IF NOT hamtaMallRS.EOF THEN
	  mallKod  = hamtaMallRS( "mall_kod" )
	END IF
	' stäng Recordset
	hamtaMallRS.Close
	set hamtaMallRS = nothing
	
  
  IF publicering <> "1" THEN
    kod = kod + "<" + "% IF date < #"& datumStart &"# OR(date > #"& datumSlut &"#) THEN" & vbcrlf 
	kod = kod + "response.redirect ""../400.asp""" & vbcrlf 
	kod = kod + "END IF %"+ ">"  & vbcrlf
  END IF
  
  'Lägg till mallkoden
  kod = kod + mallKod

  kod = replace(kod, "[kod]", txtContent)
  kod = replace(kod, "[titel]", titel)
  kod = replace(kod, "[nyheter]", "<" & "!--#include file=""nyheter.asp""--" & ">")
  kod = replace(kod, "[meny]", "<" & "!--#include file=""49.asp""--" & ">")
  kod = replace(kod, "[forfattare]", forfattare)
  kod = replace(kod, "[skapad]", date)
  kod = replace(kod, "[logga]", "<img name=""logo"" src=""../bilder/system/logo.gif"">")
  
  IF Instr(kod,"<head>")>0 Then
  dim metakod
    IF indexera = "1" THEN
	  metakod = "<head>" & vbcrlf
	  metaKod = metakod + "<meta name=""robots"" content=""index"">" & vbcrlf
	  metaKod = metaKod + "<meta name=""keywords"" content="""& nyckelord &""">" & vbcrlf
	ELSE
	  metakod = "<head>" & vbcrlf
	  metaKod = "<meta name=""robots"" content=""noindex"">" & vbcrlf
	END IF
	
	IF metaKod <> "" THEN
	  kod = replace(kod, "<head>", metakod)	
	END IF
  END IF
  
  'Gör om tidspublicerade länkar
    tidLank1 =  "<"&"% Set con2 = Server.CreateObject(""ADODB.Connection"")"&vbcrlf &_
		   	"con2.Open Application(""cmdatabas"")" &vbcrlf &_
			"Set lankRS = Server.CreateObject( ""ADODB.Recordset"" )" &vbcrlf &_
			"lankRS.ActiveConnection = Con2" &vbcrlf &_
			"lankRS.CursorType = 3" &vbcrlf &_
			"lankRS.Open ""SELECT * FROM sidor WHERE sida_id="  
	
	tidlank2 =  """" &vbcrlf &"IF NOT lankRS.EOF THEN" &vbcrlf &_
				"IF NOT date() < cDate(lankRS( ""sida_datum_start"" )) THEN" &vbcrlf &_
			    "IF NOT date() > cDate(lankRS( ""sida_datum_slut"" )) THEN %"&">" &vbcrlf
				
	tidlank3 =  ""&vbcrlf&"<"&"% END IF" &vbcrlf &_						
				"END IF" &vbcrlf &_
				"END IF" &vbcrlf &_
				"lankRS.close" &vbcrlf &_ 
				"set lankRS = nothing" &vbcrlf &_
				"con2.close" &vbcrlf &_
				"set con2 = nothing %"&">" &vbcrlf
	
	
	kod = replace(kod, "[<!--<ID=", tidlank1)
	kod = replace(kod, ">-->Lank<!--<", tidlank2)
	kod = replace(kod, "[END IF]>-->]", tidlank3)
  
  'Slut tidspublicerade länkar
  '''''''''''''''''''''''''''''''''''
END FUNCTION
```

Så här anroppar jag funktionen:

```
kod= fixaKod( txtcontent, mall, titel, forfattare, indexera, nyckelord , datumStart, datumSlut, con, publicering )
```

Jag får felmeddelandet:

> Feltyp:
> Körningsfel i Microsoft VBScript (0x800A000D)
> Inkompatibla typer: 'fixaKod'

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

## #2 — Vide, 2003-02-07T15:05Z

Borde du inte ha ett returvärde?
Nu har du allt i variabeln "kod", medans funktionen heter fixakod.

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

## #3 — Addeladde, 2003-02-07T15:09Z

Får jag inte allt i variabeln kod när jag anroppar det så här:
kod = fixaKod( variabler )

Eller hur gör jag?

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

## #4 — Addeladde, 2003-02-07T15:14Z

Glöm felmeddelandet inkompatibla typer fixakod. Det var ett jätte klantfel.

Men det blir inte rätt med min kod som behandlas i funktionen.

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

## #5 — @nders, 2003-02-07T15:14Z

Du måste returnera något från funktionen också. Det gör du genom att sist i funktionen (före End Function givetvis) skriva **FunktionensNamn = VärdeAttReturnera**. Är det objekt som ska returneras från en funktion använder du givetvis Set framför också.

mvh

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

## #6 — Vide, 2003-02-07T15:14Z

Nej, du måste returnera ett värde ifrån funktionen för att göra så.

byt
kod = replace(kod, "\[END IF\]\>--\>\]", tidlank3)
till
fixakod = replace(kod, "\[END IF\]\>--\>\]", tidlank3)

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

## #7 — Addeladde, 2003-02-07T15:18Z

Japp nu verkar det fungera när jag la till 
fixaKod = kod

Tack så hemskt mycket för hjälpen Vide och @nders

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/67539-funktion-problem
