/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Formfelter
Fra : Ukendt


Dato : 16-07-06 10:28

Hej igen...

Når en masse formfelter skal opdateres til en database...
eks.
id1 felt1 test1
skal opdateres til en række i databasen...er ok...

Kode start
Sql="Update tblMenu Set MenuTekst='" & Request.Form.Item("txtMenutekst1") &
_
"' , VisUge=" & Request.Form.Item("txtVisUge1") & _
" Where MenuID=" & Request.Form.Item("txtMenuID1")
Conn.Execute(Sql)
Kode slut

men hvis der nu er 50 rækker x 3 felter i formen...så er det jo en masse
kode der fremkommer...
Kan det ikke laves smartere ved et gennemløb af formfelterne på en eller
anden måde...

altså (se eks.)
alle felter med 1
alle felter med 2
alle felter med 3
osv...

pft
Bjarne



 
 
Michael Weber (16-07-2006)
Kommentar
Fra : Michael Weber


Dato : 16-07-06 11:06


"bsn" <bsnsnabelaoncabledotdk> wrote in message
news:44ba06ab$0$191$edfadb0f@dread11.news.tele.dk...
> Hej igen...
>
> Når en masse formfelter skal opdateres til en database...
> eks.
> id1 felt1 test1
> skal opdateres til en række i databasen...er ok...
>
> Kode start
> Sql="Update tblMenu Set MenuTekst='" & Request.Form.Item("txtMenutekst1")
&
> _
> "' , VisUge=" & Request.Form.Item("txtVisUge1") & _
> " Where MenuID=" & Request.Form.Item("txtMenuID1")
> Conn.Execute(Sql)
> Kode slut
>
> men hvis der nu er 50 rækker x 3 felter i formen...så er det jo en masse
> kode der fremkommer...
> Kan det ikke laves smartere ved et gennemløb af formfelterne på en eller
> anden måde...
>
> altså (se eks.)
> alle felter med 1
> alle felter med 2
> alle felter med 3
> osv...
>
> pft
> Bjarne
>
>

Det er et 2 delt spørgsmål.

1. traversering af en forms elementer :
http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=64

2. Gemtage en sql-sætning adskellige gange :
Opret en ADO Command og tilføj ADO Parametre.
Sæt ADO Command´en til Prepared.

ADO Command :
http://www.w3schools.com/ado/ado_ref_command.asp
http://www.w3schools.com/ado/prop_comm_prepared.asp

ADO Parameter :
http://www.w3schools.com/ado/ado_ref_parameter.asp

Med venlig hilsen
Michael Weber



Ukendt (16-07-2006)
Kommentar
Fra : Ukendt


Dato : 16-07-06 14:21


"Michael Weber" <michael@FJERNmichaelweber.dk> skrev i en meddelelse
news:44ba0f54$0$831$edfadb0f@dread12.news.tele.dk...
>
> "bsn" <bsnsnabelaoncabledotdk> wrote in message
> news:44ba06ab$0$191$edfadb0f@dread11.news.tele.dk...
>> Hej igen...
>>
>> Når en masse formfelter skal opdateres til en database...
>> eks.
>> id1 felt1 test1
>> skal opdateres til en række i databasen...er ok...
>>
>> Kode start
>> Sql="Update tblMenu Set MenuTekst='" & Request.Form.Item("txtMenutekst1")
> &
>> _
>> "' , VisUge=" & Request.Form.Item("txtVisUge1") & _
>> " Where MenuID=" & Request.Form.Item("txtMenuID1")
>> Conn.Execute(Sql)
>> Kode slut
>>
>> men hvis der nu er 50 rækker x 3 felter i formen...så er det jo en masse
>> kode der fremkommer...
>> Kan det ikke laves smartere ved et gennemløb af formfelterne på en eller
>> anden måde...
>>
>> altså (se eks.)
>> alle felter med 1
>> alle felter med 2
>> alle felter med 3
>> osv...
>>
>> pft
>> Bjarne
>>
>>
>
> Det er et 2 delt spørgsmål.
>
> 1. traversering af en forms elementer :
> http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=64
>
> 2. Gemtage en sql-sætning adskellige gange :
> Opret en ADO Command og tilføj ADO Parametre.
> Sæt ADO Command´en til Prepared.
>
> ADO Command :
> http://www.w3schools.com/ado/ado_ref_command.asp
> http://www.w3schools.com/ado/prop_comm_prepared.asp
>
> ADO Parameter :
> http://www.w3schools.com/ado/ado_ref_parameter.asp

Har lidt svært ved at fange ideen...
Kan du give et lille kodeeksempel...???
Bjarne



Michael Weber (16-07-2006)
Kommentar
Fra : Michael Weber


Dato : 16-07-06 15:37



--
Med venlig hilsen
Michael Weber
"bsn" <bsnsnabelaoncabledotdk> wrote in message
news:44ba3d41$0$180$edfadb0f@dread11.news.tele.dk...
>
> "Michael Weber" <michael@FJERNmichaelweber.dk> skrev i en meddelelse
> news:44ba0f54$0$831$edfadb0f@dread12.news.tele.dk...
> >
> > "bsn" <bsnsnabelaoncabledotdk> wrote in message
> > news:44ba06ab$0$191$edfadb0f@dread11.news.tele.dk...
> >> Hej igen...
> >>
> >> Når en masse formfelter skal opdateres til en database...
> >> eks.
> >> id1 felt1 test1
> >> skal opdateres til en række i databasen...er ok...
> >>
> >> Kode start
> >> Sql="Update tblMenu Set MenuTekst='" &
Request.Form.Item("txtMenutekst1")
> > &
> >> _
> >> "' , VisUge=" & Request.Form.Item("txtVisUge1") & _
> >> " Where MenuID=" & Request.Form.Item("txtMenuID1")
> >> Conn.Execute(Sql)
> >> Kode slut
> >>
> >> men hvis der nu er 50 rækker x 3 felter i formen...så er det jo en
masse
> >> kode der fremkommer...
> >> Kan det ikke laves smartere ved et gennemløb af formfelterne på en
eller
> >> anden måde...
> >>
> >> altså (se eks.)
> >> alle felter med 1
> >> alle felter med 2
> >> alle felter med 3
> >> osv...
> >>
> >> pft
> >> Bjarne
> >>
> >>
> >
> > Det er et 2 delt spørgsmål.
> >
> > 1. traversering af en forms elementer :
> > http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=64
> >
> > 2. Gemtage en sql-sætning adskellige gange :
> > Opret en ADO Command og tilføj ADO Parametre.
> > Sæt ADO Command´en til Prepared.
> >
> > ADO Command :
> > http://www.w3schools.com/ado/ado_ref_command.asp
> > http://www.w3schools.com/ado/prop_comm_prepared.asp
> >
> > ADO Parameter :
> > http://www.w3schools.com/ado/ado_ref_parameter.asp
>
> Har lidt svært ved at fange ideen...
> Kan du give et lille kodeeksempel...???
> Bjarne
>
>

Måske lidt a la det her :

dim command, conn, strSQL, connectionString

' Streng til database
connectionString = "C:/Din.mdb"

' Instantiere et ADO Connection-objekt.
Set conn = server.createobject("ADODB.connection")

' Definere Driver
conn.Provider = "Microsoft.Jet.OLEDB.4.0"

' Be´r ADO-Objektet om at skabe
' forbindelse til DB´en defineret i connectionString
conn.open connectionString

' Instantiere et ADO Command-objekt.
Set command= Server.CreateObject("ADODB.Command")

' Be´r Command-objektet om at benytte conn-objektet
' som forbindelse.
Set command.ActiveConnection = conn

' Definer en streng med sql og indsætter ? (spørgsmålstegn)
' der hvor Parametre skal indsættes.
strSQL ="Update tblMenu Set MenuTekst=? ,"
strSQL = strSQL & "VisUge=? "
strSQL = strSQL & "MenuID=? "

' Sætter sql-strengen som det, command-objektet skal udføre.
command.CommandText=strSQL

' Fortæller command-objektet at vi vil genbruge command-objektet
' igen og databasen skal gemme den første Execution-plan
command.Prepared=true


' Tilføjer parametre til command-objektet.
command.Parameters.Append
command.CreateParameter("MenuTekst",advarchar,adParamInput,255)
command.Parameters.Append
command.CreateParameter("VisUge",advarchar,adParamInput,255)
command.Parameters.Append
command.CreateParameter("MenuID",adinteger,adParamInput)

dim xi

' Følgende afhænger lidt af din Form.
' og passer nok ikke helt, men kan give dig en idé
' om tankegangen.

' Step 3 be´r tælle ix op med 3.
For ix = 1 to Request.Form.Count Step 3

' Piller variabler ud fra Form-objektet og tildeler
' parametrene værdierne.
command("MenuTekst") = Request.Form.Item(ix)
command("VisUge") = Request.Form.Item(ix+1)
command("MenuID") = Request.Form.Item(ix+2)

' Værdier er tildelt command-objektet
' og command´en gennemføres.
command.Execute ,,adCmdText

Next

' Lukker forbindelsen
conn.close

' Rydder op
set strSQL = nothing
set connectionString = nothing
Set command = nothing
set conn = nothing


Med venlig hilsen
Michael Weber




Ukendt (16-07-2006)
Kommentar
Fra : Ukendt


Dato : 16-07-06 23:40


"Michael Weber" <michael@FJERNmichaelweber.dk> skrev i en meddelelse
news:44ba4eeb$0$12696$edfadb0f@dread14.news.tele.dk...
>
>
> --
> Med venlig hilsen
> Michael Weber
> "bsn" <bsnsnabelaoncabledotdk> wrote in message
> news:44ba3d41$0$180$edfadb0f@dread11.news.tele.dk...
>>
>> "Michael Weber" <michael@FJERNmichaelweber.dk> skrev i en meddelelse
>> news:44ba0f54$0$831$edfadb0f@dread12.news.tele.dk...
>> >
>> > "bsn" <bsnsnabelaoncabledotdk> wrote in message
>> > news:44ba06ab$0$191$edfadb0f@dread11.news.tele.dk...
>> >> Hej igen...
>> >>
>> >> Når en masse formfelter skal opdateres til en database...
>> >> eks.
>> >> id1 felt1 test1
>> >> skal opdateres til en række i databasen...er ok...
>> >>
>> >> Kode start
>> >> Sql="Update tblMenu Set MenuTekst='" &
> Request.Form.Item("txtMenutekst1")
>> > &
>> >> _
>> >> "' , VisUge=" & Request.Form.Item("txtVisUge1") & _
>> >> " Where MenuID=" & Request.Form.Item("txtMenuID1")
>> >> Conn.Execute(Sql)
>> >> Kode slut
>> >>
>> >> men hvis der nu er 50 rækker x 3 felter i formen...så er det jo en
> masse
>> >> kode der fremkommer...
>> >> Kan det ikke laves smartere ved et gennemløb af formfelterne på en
> eller
>> >> anden måde...
>> >>
>> >> altså (se eks.)
>> >> alle felter med 1
>> >> alle felter med 2
>> >> alle felter med 3
>> >> osv...
>> >>
>> >> pft
>> >> Bjarne
>> >>
>> >>
>> >
>> > Det er et 2 delt spørgsmål.
>> >
>> > 1. traversering af en forms elementer :
>> > http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=64
>> >
>> > 2. Gemtage en sql-sætning adskellige gange :
>> > Opret en ADO Command og tilføj ADO Parametre.
>> > Sæt ADO Command´en til Prepared.
>> >
>> > ADO Command :
>> > http://www.w3schools.com/ado/ado_ref_command.asp
>> > http://www.w3schools.com/ado/prop_comm_prepared.asp
>> >
>> > ADO Parameter :
>> > http://www.w3schools.com/ado/ado_ref_parameter.asp
>>
>> Har lidt svært ved at fange ideen...
>> Kan du give et lille kodeeksempel...???
>> Bjarne
>>
>>
>
> Måske lidt a la det her :
>
> dim command, conn, strSQL, connectionString
>
> ' Streng til database
> connectionString = "C:/Din.mdb"
>
> ' Instantiere et ADO Connection-objekt.
> Set conn = server.createobject("ADODB.connection")
>
> ' Definere Driver
> conn.Provider = "Microsoft.Jet.OLEDB.4.0"
>
> ' Be´r ADO-Objektet om at skabe
> ' forbindelse til DB´en defineret i connectionString
> conn.open connectionString
>
> ' Instantiere et ADO Command-objekt.
> Set command= Server.CreateObject("ADODB.Command")
>
> ' Be´r Command-objektet om at benytte conn-objektet
> ' som forbindelse.
> Set command.ActiveConnection = conn
>
> ' Definer en streng med sql og indsætter ? (spørgsmålstegn)
> ' der hvor Parametre skal indsættes.
> strSQL ="Update tblMenu Set MenuTekst=? ,"
> strSQL = strSQL & "VisUge=? "
> strSQL = strSQL & "MenuID=? "
>
> ' Sætter sql-strengen som det, command-objektet skal udføre.
> command.CommandText=strSQL
>
> ' Fortæller command-objektet at vi vil genbruge command-objektet
> ' igen og databasen skal gemme den første Execution-plan
> command.Prepared=true
>
>
> ' Tilføjer parametre til command-objektet.
> command.Parameters.Append
> command.CreateParameter("MenuTekst",advarchar,adParamInput,255)
> command.Parameters.Append
> command.CreateParameter("VisUge",advarchar,adParamInput,255)
> command.Parameters.Append
> command.CreateParameter("MenuID",adinteger,adParamInput)
>
> dim xi
>
> ' Følgende afhænger lidt af din Form.
> ' og passer nok ikke helt, men kan give dig en idé
> ' om tankegangen.
>
> ' Step 3 be´r tælle ix op med 3.
> For ix = 1 to Request.Form.Count Step 3
>
> ' Piller variabler ud fra Form-objektet og tildeler
> ' parametrene værdierne.
> command("MenuTekst") = Request.Form.Item(ix)
> command("VisUge") = Request.Form.Item(ix+1)
> command("MenuID") = Request.Form.Item(ix+2)
>
> ' Værdier er tildelt command-objektet
> ' og command´en gennemføres.
> command.Execute ,,adCmdText
>
> Next
>
> ' Lukker forbindelsen
> conn.close
>
> ' Rydder op
> set strSQL = nothing
> set connectionString = nothing
> Set command = nothing
> set conn = nothing
>
>
> Med venlig hilsen
> Michael Weber
Tak - jeg kigger på det lidt senere...
Bjarne



Ukendt (24-07-2006)
Kommentar
Fra : Ukendt


Dato : 24-07-06 10:30


"Michael Weber" <michael@FJERNmichaelweber.dk> skrev

> ' Tilføjer parametre til command-objektet.
> command.Parameters.Append
> command.CreateParameter("MenuTekst",advarchar,adParamInput,255)
> command.Parameters.Append
> command.CreateParameter("VisUge",advarchar,adParamInput,255)
> command.Parameters.Append
> command.CreateParameter("MenuID",adinteger,adParamInput)

Får fejlen:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0414)
Der kan ikke bruges parenteser ved kald af en Sub
/hhc/public_html/admin_/menu_upd.asp, line 34, column 63
command.CreateParameter("MenuTekst",advarchar,adParamInput,255)

Bjarne




Ukendt (24-07-2006)
Kommentar
Fra : Ukendt


Dato : 24-07-06 10:40


"bsn" <bsnsnabelaoncabledotdk> skrev i en meddelelse
news:44c4930a$0$158$edfadb0f@dread11.news.tele.dk...
>
> "Michael Weber" <michael@FJERNmichaelweber.dk> skrev
>
>> ' Tilføjer parametre til command-objektet.
>> command.Parameters.Append
>> command.CreateParameter("MenuTekst",advarchar,adParamInput,255)
>> command.Parameters.Append
>> command.CreateParameter("VisUge",advarchar,adParamInput,255)
>> command.Parameters.Append
>> command.CreateParameter("MenuID",adinteger,adParamInput)
>
> Får fejlen:
> Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0414)
> Der kan ikke bruges parenteser ved kald af en Sub
> /hhc/public_html/admin_/menu_upd.asp, line 34, column 63
> command.CreateParameter("MenuTekst",advarchar,adParamInput,255)
>
> Bjarne

Har fundet fejlen...
Har fjernet paranteser, og sat komma istedet...

Får nu fejlen:

Der opstod en Microsoft VBScript-kørselsfejl (0x800A01C2)
Antallet af argumenter er forkert eller egenskabstildelingen er ugyldig:
'Append'

Bjarne



Michael Weber (25-07-2006)
Kommentar
Fra : Michael Weber


Dato : 25-07-06 18:21


"bsn" <bsnsnabelaoncabledotdk> skrev i en meddelelse
news:44c49561$0$134$edfadb0f@dread11.news.tele.dk...
>
> "bsn" <bsnsnabelaoncabledotdk> skrev i en meddelelse
> news:44c4930a$0$158$edfadb0f@dread11.news.tele.dk...
> >
> > "Michael Weber" <michael@FJERNmichaelweber.dk> skrev
> >
> >> ' Tilføjer parametre til command-objektet.
> >> command.Parameters.Append
> >> command.CreateParameter("MenuTekst",advarchar,adParamInput,255)
> >> command.Parameters.Append
> >> command.CreateParameter("VisUge",advarchar,adParamInput,255)
> >> command.Parameters.Append
> >> command.CreateParameter("MenuID",adinteger,adParamInput)
> >
> > Får fejlen:
> > Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0414)
> > Der kan ikke bruges parenteser ved kald af en Sub
> > /hhc/public_html/admin_/menu_upd.asp, line 34, column 63
> > command.CreateParameter("MenuTekst",advarchar,adParamInput,255)
> >
> > Bjarne
>
> Har fundet fejlen...
> Har fjernet paranteser, og sat komma istedet...
>
> Får nu fejlen:
>
> Der opstod en Microsoft VBScript-kørselsfejl (0x800A01C2)
> Antallet af argumenter er forkert eller egenskabstildelingen er ugyldig:
> 'Append'
>
> Bjarne
>
>

Det er lige med at få den rigtige mængde parametre med :

' bruger default værdier
command.CreateParameter("MenuTekst",advarchar)
command.CreateParameter("VisUge",advarchar)
command.CreateParameter("MenuID",adinteger)

Alternativt kan du oprette parametre som vist i eksemplet her :
http://www.w3schools.com/ado/prop_para_size.asp
(følgende kopieret fra ovenstående link)
....
set comm=Server.CreateObject("ADODB.Command")
set para=Server.CreateObject("ADODB.Parameter")

para.Type=adVarChar '
http://www.w3schools.com/ado/ado_datatypes.asp
para.Size=25 '
http://www.w3schools.com/ado/prop_para_size.asp
para.Direction=adParamInput '
http://www.w3schools.com/ado/prop_para_direction.asp
para.Value=varfname
comm.Parameters.Append para
....

Det giver lidt extra kode-linjer, men øger måske forståelsen for hvad der
foregår.

Med venlig hilsen
Michael Weber







Ukendt (26-07-2006)
Kommentar
Fra : Ukendt


Dato : 26-07-06 11:07


"Michael Weber" <michael@FJERNmichaelweber.dk> skrev i en meddelelse
news:44c652f8$0$821$edfadb0f@dread12.news.tele.dk...
>
> "bsn" <bsnsnabelaoncabledotdk> skrev i en meddelelse
> news:44c49561$0$134$edfadb0f@dread11.news.tele.dk...
>>
>> "bsn" <bsnsnabelaoncabledotdk> skrev i en meddelelse
>> news:44c4930a$0$158$edfadb0f@dread11.news.tele.dk...
>> >
>> > "Michael Weber" <michael@FJERNmichaelweber.dk> skrev
>> >
>> >> ' Tilføjer parametre til command-objektet.
>> >> command.Parameters.Append
>> >> command.CreateParameter("MenuTekst",advarchar,adParamInput,255)
>> >> command.Parameters.Append
>> >> command.CreateParameter("VisUge",advarchar,adParamInput,255)
>> >> command.Parameters.Append
>> >> command.CreateParameter("MenuID",adinteger,adParamInput)
>> >
>> > Får fejlen:
>> > Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0414)
>> > Der kan ikke bruges parenteser ved kald af en Sub
>> > /hhc/public_html/admin_/menu_upd.asp, line 34, column 63
>> > command.CreateParameter("MenuTekst",advarchar,adParamInput,255)
>> >
>> > Bjarne
>>
>> Har fundet fejlen...
>> Har fjernet paranteser, og sat komma istedet...
>>
>> Får nu fejlen:
>>
>> Der opstod en Microsoft VBScript-kørselsfejl (0x800A01C2)
>> Antallet af argumenter er forkert eller egenskabstildelingen er ugyldig:
>> 'Append'
>>
>> Bjarne
>>
>>
>
> Det er lige med at få den rigtige mængde parametre med :
>
> ' bruger default værdier
> command.CreateParameter("MenuTekst",advarchar)
> command.CreateParameter("VisUge",advarchar)
> command.CreateParameter("MenuID",adinteger)
>
> Alternativt kan du oprette parametre som vist i eksemplet her :
> http://www.w3schools.com/ado/prop_para_size.asp
> (følgende kopieret fra ovenstående link)
> ...
> set comm=Server.CreateObject("ADODB.Command")
> set para=Server.CreateObject("ADODB.Parameter")
Det er så en opsplitning af parameter som nedenstående...
Der skal så være en "blok" for hver parameter...???

> para.Type=adVarChar '
> http://www.w3schools.com/ado/ado_datatypes.asp
> para.Size=25 '
> http://www.w3schools.com/ado/prop_para_size.asp
> para.Direction=adParamInput '
> http://www.w3schools.com/ado/prop_para_direction.asp
> para.Value=varfname
Er det formfeltet (varfname).???
Skal det være et entydigt navn. eks (txtMenuTekst).
For nuværende har jeg formfelter der hedder eks.(txtMenuTekst1),
(txtMenuTekst2) osv...
Bjarne



Michael Weber (26-07-2006)
Kommentar
Fra : Michael Weber


Dato : 26-07-06 19:56


"bsn" <bsnsnabelaoncabledotdk> skrev i en meddelelse
news:44c73ecc$0$138$edfadb0f@dread11.news.tele.dk...
>
> "Michael Weber" <michael@FJERNmichaelweber.dk> skrev i en meddelelse
> news:44c652f8$0$821$edfadb0f@dread12.news.tele.dk...
> >
> > "bsn" <bsnsnabelaoncabledotdk> skrev i en meddelelse
> > news:44c49561$0$134$edfadb0f@dread11.news.tele.dk...
> >>
> >> "bsn" <bsnsnabelaoncabledotdk> skrev i en meddelelse
> >> news:44c4930a$0$158$edfadb0f@dread11.news.tele.dk...
> >> >
> >> > "Michael Weber" <michael@FJERNmichaelweber.dk> skrev
> >> >
[klip]
> >>
> >>
> >
> > Det er lige med at få den rigtige mængde parametre med :
> >
> > ' bruger default værdier
> > command.CreateParameter("MenuTekst",advarchar)
> > command.CreateParameter("VisUge",advarchar)
> > command.CreateParameter("MenuID",adinteger)
> >
> > Alternativt kan du oprette parametre som vist i eksemplet her :
> > http://www.w3schools.com/ado/prop_para_size.asp
> > (følgende kopieret fra ovenstående link)
> > ...
> > set comm=Server.CreateObject("ADODB.Command")
> > set para=Server.CreateObject("ADODB.Parameter")
> Det er så en opsplitning af parameter som nedenstående...
> Der skal så være en "blok" for hver parameter...???

Yep. Derfor fylder det en anelse mere kode.

>
> > para.Type=adVarChar '
> > http://www.w3schools.com/ado/ado_datatypes.asp
> > para.Size=25 '
> > http://www.w3schools.com/ado/prop_para_size.asp
> > para.Direction=adParamInput '
> > http://www.w3schools.com/ado/prop_para_direction.asp
> > para.Value=varfname
> Er det formfeltet (varfname).???

Yep. Den værdi parameteren skal tildeles fra Formen.
f.eks.
para.Value=Request.Form("Feltets navn")

> Skal det være et entydigt navn. eks (txtMenuTekst).

Ikke nødvendigvis.
Man kan iterere over en Forms elementer og hente
en værdi ud ved v.h.a. en indexer. f.eks.:

dim count
count = 1
while(count <= Request.Form.Count)
Response.Write Request.Form(count)
count = count +1
wend

> For nuværende har jeg formfelter der hedder eks.(txtMenuTekst1),
> (txtMenuTekst2) osv...
> Bjarne
>
>

Her i gruppen er der flere glimrende eksempler på hvordan man henter
værdier ud af en Form.
Her kan du se et andet eksempel hvor formen er delt op i 3 "sæt"
("sæt" er bare noget jeg kalder det)
Et "sæt" er 3 input-felter der tilsammen indeholder de værdier, der f.eks
skal sendes til en database pr. sql-kald.

www.michaelweber.dk/bsn/


Håber det giver lidt mening :)

Med venlig hilsen
Michael Weber




Ukendt (09-08-2006)
Kommentar
Fra : Ukendt


Dato : 09-08-06 11:45


"Michael Weber" <michael@FJERNmichaelweber.dk> skrev
> Et "sæt" er 3 input-felter der tilsammen indeholder de værdier, der f.eks
> skal sendes til en database pr. sql-kald.
>
> www.michaelweber.dk/bsn/

Er nu klar til at prøve kræfter med formfelterne igen...
Har prøvet at følge ovenstående tankegang(dit link)...
Har lavet flg. til at slette menuer med...

Kode start
<%
Dim formItems
Set formItems = Request.Form

Dim count
Dim antalSaet
Count = 1

' Der er 1 elementer i et "sæt"
' txtMenuID:
' formItems.Count er antal af elementer i formen
'
antalSaet = formItems.Count /1
'Response.write antalSaet
'response.end

'Der køres igennem alle "sæt"
While(count <= antalSaet)

If FormItems("txtSletMenu")<>False Then
test=Replace(FormItems("txtSletMenu"),", ", " OR menuid=")
End If

count = count + 1
Wend

If test <>"" then
Sql="Delete Menuid From tblMenu Where Menuid=" & test
Conn.Execute(Sql)
Else
Response.write "Der er ikke valgt menu..."
Response.end
End if

Response.Write "Menuer er slettet..."
Response.Write "<!--#INCLUDE FILE=" & """" & "../closeconn.asp" & """" &
"-->"
%>
Kode slut
Denne virker fint...

Nu vil jeg så prøve med Update af menuer...
Jeg har 50 menuer i en tabel, som læses ind på en side...
Når jeg vil Update ændringer, og bruger ovenstående tankegang, giver den kun
45 poster...???

Her er den kode jeg bruger:

Kode start
<%
Dim formItems
Set formItems = Request.Form

Dim count
dim antalSaet
count = 1

' Der er 5 elementer i et "sæt"
' txtMenuID, txtMenuType, txtMenutekst, txtVisUge og txtUgeDag:
' formItems.Count er antal af elementer i formen
'
antalSaet = formItems.Count/5


'Der køres igennem alle "sæt"
While(count <= antalSaet)

Response.write "Sæt " & count & " : <br>"

Response.Write "txtMenuID"&count&" = " & formItems("txtMenuID"&count) & "
OG "

Response.Write "txtMenuType"&count&" = " & formItems("txtMenuType"&count)
& " OG "

Response.Write "txtMenutekst"&count&" = " &
formItems("txtMenutekst"&count) & " OG "

Response.Write "txtVisUge"&count&" = " & formItems("txtVisUge"&count) & "
OG "

Response.Write "txtUgeDag"&count&" = " & formItems("txtUgeDag"&count) &
"<BR><BR>"

count = count+1

Wend

Response.write "<br>"

Response.write "Antal elementer i formen :" & formItems.Count


Response.Write "<!--#INCLUDE FILE=" & """" & "../closeconn.asp" & """" &
"-->"
%>
Kode slut

Kan du sige mig hvorfor den kun giver 45 sæt, og ikke de 50 poster, som der
er på siden...???
Bjarne



Ukendt (09-08-2006)
Kommentar
Fra : Ukendt


Dato : 09-08-06 11:53


"bsn" <bsnsnabelaoncabledotdk> skrev
> Kan du sige mig hvorfor den kun giver 45 sæt, og ikke de 50 poster, som
> der er på siden...???
Har fundet ud af at få alle poster (syntaxfejl)...

Vil du prøve at se på Update metoden i forrige mail, og give et indspark til
at få det til at virke...
Takker på forhånd...
Bjarne



Ukendt (09-08-2006)
Kommentar
Fra : Ukendt


Dato : 09-08-06 14:32


"bsn" <bsnsnabelaoncabledotdk> skrev i en meddelelse
news:44d9be8f$0$161$edfadb0f@dread11.news.tele.dk...
>
> "bsn" <bsnsnabelaoncabledotdk> skrev
>> Kan du sige mig hvorfor den kun giver 45 sæt, og ikke de 50 poster, som
>> der er på siden...???
> Har fundet ud af at få alle poster (syntaxfejl)...
>
> Vil du prøve at se på Update metoden i forrige mail, og give et indspark
> til at få det til at virke...
> Takker på forhånd...
> Bjarne
Har fået det til at virke - works like a charme...
Mange tak for din indsats...Michael.
Bjarne



Søg
Reklame
Statistik
Spørgsmål : 177547
Tips : 31968
Nyheder : 719565
Indlæg : 6408799
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste