webForumDet fria alternativet

recordset loopning strular

7 svar · 248 visningar · startad av drain

drainMedlem sedan apr. 200165 inlägg
#1

Här är frågan. Hur får jag index-värdet på j? När jag kör respons.write(j) (se nedan) så får jag värdet för fältet. Detta värde kan ju vara typ kalle eller vad som helst. Finns det något sätt att komma över index värdet för j? Jag vill alltså att j skall kunna vara som en räknare 1,2,3,4,5,6,7.....

for each j in recset1.Fields
Response.Write(j)
for i = 1 To Ubound(MyArray, 2)
recset1(j.name)=MyArray(j, i)
next
next

------------------
crack the liar´s smile

VideMedlem sedan dec. 19998 577 inlägg
#2

Jag skulle lagt in ett index i själva recordsettet, bara att lägga till ett fält där du lagrar siffror... då kan du även sortera efter dom sedan... :)

------------------
webEye.nu SweQuake.com

drainMedlem sedan apr. 200165 inlägg
#3

Tack för iden ;) Den är ju en lösning men kanske inte riktigt så som jag tänkt mig. Jag kör väl på denna men om någon vet något sätt att få tag på index värdet så varit inte blyga....hör av er :)

------------------
crack the liar´s smile

drainMedlem sedan apr. 200165 inlägg
#4

Jag vill ju att j skall räkna upp till nästa attribut inte nästa post det är ju det som i gör. Jag uttryckte mig lite oklart. Ursäkta mig Vide.

Är jag korkad eller? Hur menar du med att fixa ett index i själva recordsetet? Jag trodde det innebar att lägga till en räknare i DB men du kanske menade något annat. Snälla förklara för en korkad varelse

for each j in recset1.Fields
for i = 1 To Ubound(MyArray, 2)
Response.Write("räknare " & j)
recset1(j.name)=MyArray(j**(index-värde tack inte post värde)**, i)
recset1.Update
next
next

------------------
crack the liar´s smile

[Redigerat av drain den 11 apr 2001]

LarsGMedlem sedan dec. 200012 464 inlägg
#5

För att få numeriskt värde för j så.

for j = 0 to recset1.Fields.count - 1
recset1(j) = "xxx"
next

Jag förstår inte vad du försöker göra dock. Det ser ut som om du uppdaterar samma post flera gånger

------------------
essentitia preter non sans multiplicandum

drainMedlem sedan apr. 200165 inlägg
#6

Tjena LarsG!! Hm jag hade gjort lite knassigt. Jag skall försöka förklara vad jag försöker att göra.
1. jag hämtar värden till en array med recordset.getrows. stänger recordsetet och koppling till DB.
2. Arrayen manipuleras och får en del nya värden.
3. Nu vill jag öppna recset igen och slänga tillbaka alla värden från den manipulerade arrayen. HUR GÖR JAG DETTA?

OERHÖRT tacksam för svar...

------------------
crack the liar´s smile

[Redigerat av drain den 11 apr 2001]

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Borde det inte bli något så här istället

recset1.movefirst
for i = Lbound(MyArray,2) To Ubound(MyArray, 2)
for j = 0 to recset1.count - 1
recset1(j) = MyArray(i,j)
next
recset1.Update
recset1.movenext
next

Alternativt till att ha en update för varje post så finns det en metod som heter updatebatch där man kan ta hand om alla förändringar i ett anrop. Här finns information om det:
http://msdn.microsoft.com/library/default.asp?URL=/library/psdk/dasdk/mdam3hrc.htm

------------------
essentitia preter non sans multiplicandum

drainMedlem sedan apr. 200165 inlägg
#8

Ja du LarsG nu har jag fixat detta!! ÄNTLIGEN delvis tack vare dig och delsvis tack vare mig själv så här blev koden (om du är intresserad):

for j = 0 to recset1.Fields.Count-1
for i = Lbound(MyArray,2) To Ubound(MyArray, 2)
recset1(j) = MyArray(j,i)
recset1.Update
recset1.movenext
next
recset1.movefirst
next

:) Miljoner tackningar :)

------------------
crack the liar´s smile

132 ms totalt · 3 externa anrop · v20260731065814-full.37765c92
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)