Gebruik van aanhalingstekens in het script

U kunt op verschillende manieren aanhalingstekens gebruiken in scriptopdrachten.

In LOAD-opdrachten

In een LOAD-opdracht worden de volgende symbolen als aanhalingsteken gebruikt:

  Beschrijving Symbool Codepunt Voorbeeld

Veldnamen

dubbele aanhalingstekens

" " 34 "tekenreeks"
  vierkante haakjes [ ] 91, 93 [tekenreeks]
  accent grave ` ` 96 `tekenreeks`

Tekenreeksliterals

enkele aanhalingstekens

' '

39 'tekenreeks'

In SELECT-opdrachten

Voor een SELECT-opdracht die wordt geïnterpreteerd door het ODBC-stuurprogramma, kunnen de regels echter iets anders zijn. Normaal gesproken moet u rechte dubbele aanhalingstekens (Alt + 0034) gebruiken voor veld- en tabelnamen en rechte enkele aanhalingstekens (Alt + 0039) voor literals. Schuine aanhalingstekens (accent grave) worden niet gebruikt. Maar bepaalde ODBC-stuurprogramma's accepteren de schuine tekens niet alleen, ze geven er zelfs de voorkeur aan. In zo'n geval bevatten de gegenereerde SELECT-opdrachten schuine aanhalingstekens.

Voorbeeld van aanhalingstekens in Microsoft Access

Microsoft Access ODBC Driver 3.4 (geleverd bij Microsoft Access 7.0) accepteert de volgende aanhalingstekens bij het analyseren van de SELECT-opdracht:

Veldnamen en tabelnamen:

[ ]

" " ` `

Tekenreeksliterals:

' '

Andere databases hebben mogelijk andere conventies.

Buiten LOAD-opdrachten

Buiten een LOAD-opdracht, op plaatsen waar QlikView een uitdrukking verwacht, geven dubbele aanhalingstekens een referentie naar een variabele, en niet naar een veld, aan. Als dubbele aanhalingstekens worden gebruikt, wordt de tekenreeks geïnterpreteerd als variabele en wordt de waarde van de variabele gebruikt.

Veldreferenties en tabelreferenties buiten de context

Sommige scriptfuncties verwijzen naar velden die al gemaakt zijn of zich bevinden in de uitvoer van een LOAD-opdracht, bijvoorbeeld Exists() en Peek(). Deze veldreferenties worden buiten de context genoemd, in tegenstelling tot bronveldreferenties die verwijzen naar velden in de context, ofwel in de invoertabel van de LOAD-opdracht.

Veldreferenties en tabelreferenties buiten de context moeten worden beschouwd als literals en hebben dus enkele aanhalingstekens nodig.

Verschil tussen namen en literals

Het verschil tussen namen en literals wordt duidelijker als u de volgende voorbeelden vergelijkt:

Voorbeeld:  

'Sweden' as Country

Als deze uitdrukking wordt gebruikt als deel van de veldlijst in een LOAD- of SELECT-opdracht, wordt de teksttekenreeks "Sweden" geladen als veldwaarde in het QlikView-veld "Country".

Voorbeeld:  

"land" as Country

Als deze uitdrukking wordt gebruikt als deel van de veldlijst in een LOAD- of SELECT-opdracht, wordt de inhoud van het databaseveld of de tabelkolom met de naam "land" geladen als veldwaarde het in QlikView-veld "Country". Dit betekent dat land wordt behandeld als veldreferentie.

Verschil tussen getallen en tekenreeksliterals

Het verschil tussen getallen en tekenreeksliterals wordt duidelijker als u de volgende voorbeelden vergelijkt:

Voorbeeld:  

'12/31/96'

Als deze tekenreeks wordt gebruikt als deel van een uitdrukking, wordt deze in een eerste stap geïnterpreteerd als de teksttekenreeks "12/31/96", die op zijn beurt kan worden geïnterpreteerd als een datum als de datumnotatie ‘MM/DD/YY’ is. In dat geval wordt de tekenreeks opgeslagen als duale waarde met een numerieke en tekstuele representatie.

Voorbeeld:  

12/31/96

Als deze tekenreeks wordt gebruikt als deel van een uitdrukking, wordt deze numeriek geïnterpreteerd als 12 gedeeld door 31 gedeeld door 96.

Gebruik van enkele aanhalingstekens in een tekenreeks

Als u enkele aanhalingstekens moet opnemen in een tekenreeks, kunt u een extra enkel aanhalingsteken gebruiken als escape-teken.

Voorbeeld:  

De tekenreeks '10 O''clock News' wordt geïnterpreteerd als 10 O'clock News.