Zoek de juiste syntax voor een variabele

Status
Niet open voor verdere reacties.

leifoet

Gebruiker
Lid geworden
7 okt 2007
Berichten
326
Probeer een variabele samen te stellen als volgt :
"v_" onmiddellijk gevolgd door een numeriek (database)veld
Dit zou dan het verwacht resultaat zijn : v_100 ( v_101 / v_102 enz ) waarin de inhoud van TrDTV zou moeten te vinden zijn.

Onderstaande code werkt niet
<%"var_"&rsJ("numeriek_veld")=rsJ("TrDTV")%>

ook niet na voorafgaande opslag van het numeriek veld in een afzonderlijke variabele RekNr
<%"var_"&cstr(RekNr)=rsJ("TrDTV")%

geeft volgende foutmelding
Microsoft VBScript compilation error '800a0400'
Expected statement
"var_"&cstr(RekNr)=rsJ("TrDTV")
^

Graag een tip / oplossing.
 
Ik ben niet thuis in ASP maar bedoel je hier geen If
Code:
If CStr(rsJ("numeriek_veld"))=rsJ("TrDTV") Then "v_" & CStr(numeriek_veld)

Noot: ik ga er hier vanuit dat rsJ("TrDTV") een string is, of is dat een number
 
Laatst bewerkt:
Na/met voortschrijdend inzicht, probeer ik mijn vraag/probleem te verduidelijken/te herformuleren : hoe kan ik (de inhoud van) een variabele toewijzen aan een variabele
Mijn gedachtengang
1. variabele (1) maken : var_&cstr(rsJ("RekNR")) dit nummer is bijvoorbeeld 100, 101, 102 enz - de combinatievariabele var_100 enzovoort maken levert nu geen probleem meer
2. variabele (2) rsJ("TrDTV") - deze variabele (een totaal) wordt gecreëerd in de Select query
3. de inhoud van variabele (2) toewijzen aan variabele (1) is mijn actueel (eind)probleem

Algemeen : wat is de correcte code/syntax om bijvoorbeeld de inhoud van rsJ("TrDTV") van nummer 100 toe te wijzen aan de variabele var_100
(en -indien 101 'bestaat'- dus ook hetzelfde te doen voor var_101, én voor 102, én voor 103, enzovoort zolang er nummers voorhanden zijn)
 
Laatst bewerkt:
Het antwoord is eenvoudig: variabele1 = variabele2
mits beide van hetzelfde type zijn.

Als je de vraag omzet naar (nog niet werkende?) code dan krijg je dit
Code:
<%
dim variabele1
dim variabele2
variabele1 = "var_" & CStr(rsJ("RekNR"))
variabele2 = rsJ("TrDTV")
rsJ("TrDTV") = variabele2
%>

De laatste 2 regels kunnen worden samengevoegd tot: rsJ("TrDTV") = variabele1

Als één of beide rsJ(...) een object of recordset is dan kan het sowieso niet omdat je een string niet kan toewijzen aan een object of recordset.
Je zal in dat geval het juiste object-item moeten aanwijzen of door de recordset moeten lopen met een while loop.

RE: wat is de correcte code/syntax om bijvoorbeeld de inhoud van rsJ("TrDTV") van nummer 100 toe te wijzen.
De rest van de code ken ik niet maar aan de hand van de benaming "rs...." ga ik er vanuit dat dit een RecordSet is. Een recordset bestaat uit 0, 1 of meerdere records. Je zal door de recordset moeten gaan met een while loop en per record kan je dan de velden opvragen of iets in de velden wegschrijven.

Ik hoop dat iemand anders kan helpen want ik gaf bij #1 al aan dat ik ASP niet ken. Wat ik hierboven aangeef is een algemeen database verhaal.
 
Laatst bewerkt:
Ook na implementatie van bovenstaande code slaag ik er (nog) niet in om de inhoud van variabele2 = rsJ("TrDTV") toe te wijzen aan variabele1 = "var_" & CStr(rsJ("RekNR"))

Nog even mijn werkwijze verduidelijken
- met een Do While … Loop doorloopt de module een tabel A met de Nummers 100 tot bijvoorbeeld 200
- voor elk van de nummers wordt het totaal van de achterliggende activiteiten gesommeerd in [variabele2 = rsJ("TrDTV") ] deze 'variabele' wordt/werd opgemaakt in de SELECT QUERY als (AS) de som van een aantal (voorwaardelijke) records voor een bepaald veld uit tabel B (=activiteiten gekoppeld aan de Nummers).

Zoals bron hierboven opmerkt is dit dus geen variabele 'puur sang' - maar ook geen echte veldnaam - hoe worden die genoemd : pseudo variabelen ?

Tijdens de DWL wordt dus variabele1 = "var_" & CStr(rsJ("RekNR")) gecreëerd aan de hand van de 'voorbijlopende' Nummers (100 - 101 … ) en zouden de passende totalen rsJ("TrDTV") -vlak voor de (terug)LOOP- moeten kunnen toegewezen worden aan die gecreëerde variabelen …
Ik hoop dat de juiste code om dit te doen lukken nog kan gevonden worden (anders zal ik -zoals bron suggereert- noodgedwongen de totalen moeten wegschrijven in de tabel, maar … hoe moet ik dat.)
Dank voor tips.
 
Laatst bewerkt:
Nog een laatste vraagje van mij. Kan je de inhoud van rsJ("TrDTV") en van rsJ("RekNR") wel afzonderlijk uitlezen en op het scherm tonen?
 
Laatst bewerkt:
Jazeker telkens getest met response.write(variabele), anders zou de vraagstelling m.i. toch (te) weinig onderbouwd zijn.
Overigens schreef ik op 26/11/2018, 10u40 : 3. de inhoud van variabele (2) toewijzen aan variabele (1) is mijn actueel (eind)probleem

Dank voor suggesties.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan