---
title: "Tilldela dynamiska stränger"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/154261-tilldela-dynamiska-stränger"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Sasch"
published: "2006-11-27T18:52:10.000Z"
updated: "2006-12-12T01:21:22.000Z"
replies: 10
views: 686
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/154261-tilldela-dynamiska-stränger"
---

# Tilldela dynamiska stränger

## #1 — Sasch, 2006-11-27T18:52Z

```
      For I = 0 TO 3
         IF strLink"& I &"URL = "" then
            strLink"& I &"URL = 0
         End IF

         IF strLink"& I &"Display = "" AND strLink"& I &" <> "" then
            strLink"& I &"Display = strLink"& I &"URL
         End IF
      Next
```

Jag får felmeddelande när jag skapar en strLink (Dynamisk 1:a, 2:a el. 3.a) Display och pekar på första citat-tecknet och vill att jag ska avsluta raden där.

Jag har lyckats lösa problemet med Request.Form("Link"& I &"Dispaly") där I är en siffra... 

Finns det något sätt att lösa denna problematiken?

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

## #2 — OveRRidE, 2006-11-27T19:00Z

> **Sasch skrev:**
>
> ```
>       For I = 0 TO 3
>          IF strLink"& I &"URL = "" then
>             strLink"& I &"URL = 0
>          End IF
> 
>          IF strLink"& I &"Display = "" AND strLink"& I &" <> "" then
>             strLink"& I &"Display = strLink"& I &"URL
>          End IF
>       Next
> ```
>
> 
> 
> Jag får felmeddelande när jag skapar en strLink (Dynamisk 1:a, 2:a el. 3.a) Display och pekar på första citat-tecknet och vill att jag ska avsluta raden där.
> 
> Jag har lyckats lösa problemet med Request.Form("Link"& I &"Dispaly") där I är en siffra... 
> 
> Finns det något sätt att lösa denna problematiken?

Något sådant som dynamiska variablar finns inte i VBScript. Du får nog lösa det där med ett dictionary istället, om du inte gör på nåt annat sätt. Här har du kod för att skapa ett, sen är det bara att börja bygga nycklar. :)

/red. Ja, sålänge du inte vill använda Execute(), men jag rekommenderar det inte. 

```
set dic = server.createobject("scripting.dictionary")
dic.comparemode = 1

'add key
dic("strLink" & i & "URL") = "foobar"

'write key
response.write dic("strLink" & i & "URL")

set dic = Nothing
```

Exakt vad är det du vill göra egentligen?

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

## #3 — @nders, 2006-11-27T19:01Z

Två alternativ:
1) Använd en array
2) Använd *Execute()*.

Exempeltrådar om Execute():
<http://www.webforum.nu/showthread.php?t=134423>
<http://www.webforum.nu/showthread.php?t=58960>

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

## #4 — Sasch, 2006-11-27T19:28Z

> **OveRRidE skrev:**
>
> Exakt vad är det du vill göra egentligen?

INSERT INTO tbl_faq (Link1Display, Link2Display, Link3Display, Link1URL, Link2URL, Link3URL) VALUES (bla bla)

Jag vill kolla om formuläret har formuläret har information i sig, annars klagar SQL när jag försöker stoppa in en sträng som inte innehåller någonting så jag jag kollar om strängen är tom och om den är det så skickar puttar jag in en nolla. 

Och ja, jag har tillåtit null i för databas-fälten.

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

## #5 — Sasch, 2006-11-28T11:03Z

@nders; Jag valde att arbeta vidare med Execute() dock kom jag inte så långt.

Kod:

Microsoft VBScript compilation  error '800a03ee'

Expected ')'

/admin/admin_faq.asp, line 139

IF Execute(strLink"& I &"URL = "") THEN
\------------------^

Även försökt med "IF Execute(strLink"& I &"URL) = "" THEN" vilket gav fel på samma ställe som ovan. Skulle du kunna hjälpa mig med detta?

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

## #6 — voigtann1, 2006-11-28T11:04Z

```
"strLink" & i & "URL"
```

du glömde " i början

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

## #7 — Sasch, 2006-11-28T11:13Z

voigtann1: Tack! jag trodde inte det behövdes i och med att det normal sett inte behövs för variabler inom () men det ser ut som om Execute() gör om texten man sätter i klamrarna till variabler... jaja :) tack!

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

## #8 — voigtann1, 2006-11-28T11:27Z

men strLink är ingen variabel ;)

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

## #9 — Sasch, 2006-11-28T12:35Z

> **voigtann1 skrev:**
>
> men strLink är ingen variabel ;)

;) Du har så rätt, det är bara en hållare (container).

```
	FOR I = 1 TO 3
		IF rsLoadFaq("Link"& I &"URL") = "" OR rsLoadFaq("Link"& I &"URL") = "0" THEN
			Execute("strLink"& I &"URL") = ""
		ELSE
			Execute("strLink"& I &"URL") = rsLoadFaq("Link"& I &"URL")
		End IF

		IF rsLoadFaq("Link"& I &"Display") = "" OR rsLoadFaq("Link"& I &"Display") = "0" THEN
			Execute("strLink"& I &"Display") = ""
		ELSE
			Execute("strLink"& I &"Display") = rsLoadFaq("Link"& I &"Display")
		END IF
	NEXT
```

Så här ser det ut nu, vad som inte fungerar är att den klagar på "Execute" som "Type mismatch: 'Execute'". Vad gör jag för fel?

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

## #10 — SprayMaphia, 2006-12-11T22:06Z

Du kan ju inte "sätta ett värde på en funktion" sådär...
Radera allt efter "Execute(...)".

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

## #11 — emission, 2006-12-12T01:21Z

Framför allt, använd ett dictionary i stället. Mycket säkrare och effektivare än Execute.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/154261-tilldela-dynamiska-stränger
