/ 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
Input type="checkbox"... og grå hår!
Fra : Carsten Pinderup


Dato : 11-09-01 13:45

Hej Ng

Jeg er ved at få grå hår!
Hvis jeg laver nogle checkbox'e som nedenstående:

<input type="checkbox" name="email" value="ON">

og sender det til en asp der behandler den på følgende måde:
SQL = "INSERT INTO emailtjeneste(......,email,...osv... ) values
(........., " & email & ",.....osv.......);"
response.write (SQL)
osv
får jeg et tomt felt fra response.write sql:

med følgende fejlmedd.:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO
statement.
/news/news.asp, line 86

linie 86 er: Conn.execute (SQL)
så fejlen må ligge i insert into sætningen.

Hvad pokker sker der. Jeg kan godt finde ud af at lave disse input type med
radiobuttons, men tilsyneladende ikke med checkbox'e.

Jeg skriver til en access2000 db hvor feltet er af ja/nej typen.





 
 
Andreas Jydebjerg (11-09-2001)
Kommentar
Fra : Andreas Jydebjerg


Dato : 11-09-01 14:00

Jeg bruger ikke selv Access, men som fejlmeddelelses antyder, så er det din
SQL statement der indeholder problemet. Dit checkbox felt returnerer værdien
"ON" og ikke værdien "JA" som Access sandsynligvis forventer. Du skal
formentligt gøre noget i stil med....

If Request.Form("navn") = "ON" Then
isOn = "Ja"
Else
isOn = "Nej"
End If

SQL = "INSERT INTO emailtjeneste (....., email, .....) VALUES (......., '" &
isOn & "', ......)"

Lig især mærke til, at ja/nej værdien efter al sandsynlighed skal sendes med
som en streng, dvs. i aanførselstegn ('Ja' eller 'Nej')


/Andreas



"Carsten Pinderup" <carsten@pinderup.dk> wrote in message
news:9nl129$cgk$1@sunsite.dk...
> Hej Ng
>
> Jeg er ved at få grå hår!
> Hvis jeg laver nogle checkbox'e som nedenstående:
>
> <input type="checkbox" name="email" value="ON">
>
> og sender det til en asp der behandler den på følgende måde:
> SQL = "INSERT INTO emailtjeneste(......,email,...osv... ) values
> (........., " & email & ",.....osv.......);"
> response.write (SQL)
> osv
> får jeg et tomt felt fra response.write sql:
>
> med følgende fejlmedd.:
>
> Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
> [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO
> statement.
> /news/news.asp, line 86
>
> linie 86 er: Conn.execute (SQL)
> så fejlen må ligge i insert into sætningen.
>
> Hvad pokker sker der. Jeg kan godt finde ud af at lave disse input type
med
> radiobuttons, men tilsyneladende ikke med checkbox'e.
>
> Jeg skriver til en access2000 db hvor feltet er af ja/nej typen.
>
>
>
>



Carsten Pinderup (11-09-2001)
Kommentar
Fra : Carsten Pinderup


Dato : 11-09-01 14:07

Det prøver jeg (senere) på forhånd TAK.


"Andreas Jydebjerg" <asj@webworx.dk> skrev i en meddelelse
news:2Ynn7.1381$lk7.51900@news.get2net.dk...
> Jeg bruger ikke selv Access, men som fejlmeddelelses antyder, så er det
din
> SQL statement der indeholder problemet. Dit checkbox felt returnerer
værdien
> "ON" og ikke værdien "JA" som Access sandsynligvis forventer. Du skal
> formentligt gøre noget i stil med....
>
> If Request.Form("navn") = "ON" Then
> isOn = "Ja"
> Else
> isOn = "Nej"
> End If
>
> SQL = "INSERT INTO emailtjeneste (....., email, .....) VALUES (......., '"
&
> isOn & "', ......)"
>
> Lig især mærke til, at ja/nej værdien efter al sandsynlighed skal sendes
med
> som en streng, dvs. i aanførselstegn ('Ja' eller 'Nej')
>
>
> /Andreas
>
>
>
> "Carsten Pinderup" <carsten@pinderup.dk> wrote in message
> news:9nl129$cgk$1@sunsite.dk...
> > Hej Ng
> >
> > Jeg er ved at få grå hår!
> > Hvis jeg laver nogle checkbox'e som nedenstående:
> >
> > <input type="checkbox" name="email" value="ON">
> >
> > og sender det til en asp der behandler den på følgende måde:
> > SQL = "INSERT INTO emailtjeneste(......,email,...osv... ) values
> > (........., " & email & ",.....osv.......);"
> > response.write (SQL)
> > osv
> > får jeg et tomt felt fra response.write sql:
> >
> > med følgende fejlmedd.:
> >
> > Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
> > [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT
INTO
> > statement.
> > /news/news.asp, line 86
> >
> > linie 86 er: Conn.execute (SQL)
> > så fejlen må ligge i insert into sætningen.
> >
> > Hvad pokker sker der. Jeg kan godt finde ud af at lave disse input type
> med
> > radiobuttons, men tilsyneladende ikke med checkbox'e.
> >
> > Jeg skriver til en access2000 db hvor feltet er af ja/nej typen.
> >
> >
> >
> >
>
>



Carsten Pinderup (11-09-2001)
Kommentar
Fra : Carsten Pinderup


Dato : 11-09-01 14:27

Det virker fint hvis jeg sætter DBfeltet til tekst, ikke hvis feltet er sat
som til/fra felt. Men det holder jeg nok til. Så TAK.

Men kan det virkelig være rigtigt at man skal definere "ON=ja" for fx. 12
forskellige input? er der ikke noget smartere?


"Andreas Jydebjerg" <asj@webworx.dk> skrev i en meddelelse
news:2Ynn7.1381$lk7.51900@news.get2net.dk...
> Jeg bruger ikke selv Access, men som fejlmeddelelses antyder, så er det
din
> SQL statement der indeholder problemet. Dit checkbox felt returnerer
værdien
> "ON" og ikke værdien "JA" som Access sandsynligvis forventer. Du skal
> formentligt gøre noget i stil med....
>
> If Request.Form("navn") = "ON" Then
> isOn = "Ja"
> Else
> isOn = "Nej"
> End If
>
> SQL = "INSERT INTO emailtjeneste (....., email, .....) VALUES (......., '"
&
> isOn & "', ......)"
>
> Lig især mærke til, at ja/nej værdien efter al sandsynlighed skal sendes
med
> som en streng, dvs. i aanførselstegn ('Ja' eller 'Nej')
>
>
> /Andreas
>
>
>
> "Carsten Pinderup" <carsten@pinderup.dk> wrote in message
> news:9nl129$cgk$1@sunsite.dk...
> > Hej Ng
> >
> > Jeg er ved at få grå hår!
> > Hvis jeg laver nogle checkbox'e som nedenstående:
> >
> > <input type="checkbox" name="email" value="ON">
> >
> > og sender det til en asp der behandler den på følgende måde:
> > SQL = "INSERT INTO emailtjeneste(......,email,...osv... ) values
> > (........., " & email & ",.....osv.......);"
> > response.write (SQL)
> > osv
> > får jeg et tomt felt fra response.write sql:
> >
> > med følgende fejlmedd.:
> >
> > Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
> > [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT
INTO
> > statement.
> > /news/news.asp, line 86
> >
> > linie 86 er: Conn.execute (SQL)
> > så fejlen må ligge i insert into sætningen.
> >
> > Hvad pokker sker der. Jeg kan godt finde ud af at lave disse input type
> med
> > radiobuttons, men tilsyneladende ikke med checkbox'e.
> >
> > Jeg skriver til en access2000 db hvor feltet er af ja/nej typen.
> >
> >
> >
> >
>
>



MacMan (12-09-2001)
Kommentar
Fra : MacMan


Dato : 12-09-01 08:24

I brevet "9nl3g7$jbv$1@sunsite.dk" skrev Carsten Pinderup
(carsten@pinderup.dk) den 11/09/01 15:26:

> Det virker fint hvis jeg sætter DBfeltet til tekst, ikke hvis feltet er sat
> som til/fra felt. Men det holder jeg nok til. Så TAK.
>
> Men kan det virkelig være rigtigt at man skal definere "ON=ja" for fx. 12
> forskellige input? er der ikke noget smartere?

Jo, brug en funktion, eller sæt value til "1", hvis den så er tom, sætter du
den til "0".

Function CheckBox(ByVal Input)

If Input = "1" Then
CheckBox = 1
Else
CheckBox = 0
End If

End Function


- Morten


Ukendt (12-09-2001)
Kommentar
Fra : Ukendt


Dato : 12-09-01 17:41

Kan være du skal bruge =Boolean ...

Måske kan gruppens guru, Anders Holbøll, redde trådene ud ? :)

Thomas



Jørn Andersen (12-09-2001)
Kommentar
Fra : Jørn Andersen


Dato : 12-09-01 22:04

On Tue, 11 Sep 2001 14:45:25 +0200, "Carsten Pinderup"
<carsten@pinderup.dk> wrote:

Hej Carsten,

Jeg tror, humlen er, at du ikke har værdien _email_ som en Boolsk
værdi.

>Hvis jeg laver nogle checkbox'e som nedenstående:
>
> <input type="checkbox" name="email" value="ON">

<input type="checkbox" name="email" value=true>


Du skal så have den lavet til en Boolsk værdi (ja/nej, Sand/Falsk
osv.):

email = CBool(Request.Form("email"))

og så burde din SQL virke:

>og sender det til en asp der behandler den på følgende måde:
> SQL = "INSERT INTO emailtjeneste(......,email,...osv... ) values
>(........., " & email & ",.....osv.......);"
> response.write (SQL)
> osv
>får jeg et tomt felt fra response.write sql:

Hvis SQL'en ikke virker, så prøv lige at udskrive den.
<SNIP>

Du kan selv checke, om værdien af _email_ er Boolsk ved at udskrive:
Response.Write "TypeName(email): " & TypeName(email) & "<br>"
eller:
Response.Write "VarType(email): " & VarType(email) & "<br>"

Svjh er resultatet af en Request.Form en String-type (eller Empty), så
ofte skal den konverteres til enten et tal, en logisk værdi osv.

Good luck,

Jørn


--
Jørn Andersen
Brønshøj

Anders Holbøll (13-09-2001)
Kommentar
Fra : Anders Holbøll


Dato : 13-09-01 15:25

"Jørn Andersen" wrote:
>
> On Tue, 11 Sep 2001 14:45:25 +0200, "Carsten Pinderup"
> <carsten@pinderup.dk> wrote:
>
> Jeg tror, humlen er, at du ikke har værdien _email_ som en Boolsk
> værdi.
>
> >Hvis jeg laver nogle checkbox'e som nedenstående:
> >
> > <input type="checkbox" name="email" value="ON">
>
> <input type="checkbox" name="email" value=true>

Vrøvl, felter på en html-side kan kun have en "datatype" som værdi:
Tekst. Eks.:

Response.Write "<input type=checkbox name=""email"" value=1>"

Men du kan naturligvis lave det til en boolsk værdi i asp:
email = Not (Trim(Request("email")) = "")

og bruge det til at sætte et felt i databasen:
sql = "insert mintabel (email) values (" & iif(email, 1, 0) & ")"

Function iif(Value, s1, s2)
If Value Then iif = s1 Else iif = s2
End Function

(Men det var jo basalt det, morten sagde)
--
Anders

Jørn Andersen (13-09-2001)
Kommentar
Fra : Jørn Andersen


Dato : 13-09-01 18:00

On Thu, 13 Sep 2001 16:25:19 +0200, Anders Holbøll
<dev-null-20010827@serveren.dk> wrote:

Hej Anders,

>"Jørn Andersen" wrote:
<SNIP>
>> >Hvis jeg laver nogle checkbox'e som nedenstående:
>> >
>> > <input type="checkbox" name="email" value="ON">
>>
>> <input type="checkbox" name="email" value=true>
>
>Vrøvl, felter på en html-side kan kun have en "datatype" som værdi:
>Tekst. Eks.:

Var det ikke også sådan cirka det jeg skrev? Ellers ville mine næste
linier ikke give den store mening:

> Du skal så have den lavet til en Boolsk værdi (ja/nej,
> Sand/Falsk osv.):
>
> email = CBool(Request.Form("email"))

Grunden til at jeg omdøbte den til "True" i stedet for "ON" var såmænd
bare for at den var nemmere at konvertere - akkurat som dit forslag
(hvor du bare bruger "1" i stedet):

>Response.Write "<input type=checkbox name=""email"" value=1>"

Så jeg mener ikke det var noget vrøvl, jeg skrev - i hvert fald ikke
denne gang :)


Mvh. Jørn


--
Jørn Andersen
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408872
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste