|
| 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
| |
|
|