Avatar billede Karalumpas Praktikant
24. september 2003 - 05:13 Der er 8 kommentarer og
2 løsninger

Insert dato i access

Hej Eksperter

Jeg får:
Provider error '80020005'
Type mismatch.

Jeg har lavet en form hvor man kan indsætte dato i en access db ved hjælp af 3 dropdown menuer. Dette er gjort for at undgå at få tidspunkt med. Eller i hvert fald for at den skal sætte 0'er ind i stedet for et tidspunkt.
Det virker fint nok første gang jeg afprøver formen og siden done.asp vises. Trykker jeg på opret ny får jeg min form igen og når jeg submitter den anden gang opstår fejlen!
Jeg har oprettet et andet felt i min db som hedder klokken hvor man taster tidspunkt ind for eventen. Kan man ikke nøjes med at bruge et date/time felt til det hele i stedet? HOW?

dato feltet i min db er et date/time felt long date


'Åbner connection til databasen
rs = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../database/database.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open rs

'Hvis brugeren har submittet formularen
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then
   
'Tjecker om felterne er udfyldt
    if (Request.Form("overskrift") <> "" AND Request.Form("indhold") <> "") then
   
    Set rs = Server.CreateObject("ADODB.Recordset")
    strSQL = "select * from auk"
    rs.Open strsql, conn, 1, 3
   
    rs.AddNew
    rs("overskrift") = Server.HTMLEncode(Request("overskrift"))
    rs("indhold") = Server.HTMLEncode(Request("indhold"))
    rs("dato") = Server.HTMLEncode(Request.Form("day") & "-" & Request.Form("month") & "-" & Request.Form("year"))
    rs("klokken") = Server.HTMLEncode(Request("klokken"))
    rs.update
   
    Response.Redirect("done.asp")
   
    rs.Close
    set rs = nothing
   
    else
    Response.Write("<br>Du mangler at udfylde felter!<br><a href=opretauk.asp>Tilbage</a>")
   
    end if
    end if

Min form ser sådan ud:
Det jscript som er i formen kalder en dhtml editor frem over tekstfeltet

<form action="?mode=submit" method="post" name="opretauk">
  <table border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td class="menupunkt">Overskrift:&nbsp;<input name="overskrift" type="text" class="knap" style="width: 200px;">
        &nbsp;Dato:&nbsp;
        <select name="day" size="1" class="knap">
          <option value="01">01</option>
          <option value="02">02</option>
          <option value="03">03</option>
          <option value="04">04</option>
          <option value="05">05</option>
          <option value="06">06</option>
          <option value="07">07</option>
          <option value="08">08</option>
          <option value="09">09</option>
          <option value="10">10</option>
          <option value="11">11</option>
          <option value="12">12</option>
          <option value="13">13</option>
          <option value="14">14</option>
          <option value="15">15</option>
          <option value="16">16</option>
          <option value="17">17</option>
          <option value="18">18</option>
          <option value="19">19</option>
          <option value="20">20</option>
          <option value="21">21</option>
          <option value="22">22</option>
          <option value="23">23</option>
          <option value="24">24</option>
          <option value="25">25</option>
          <option value="26">26</option>
          <option value="27">27</option>
          <option value="28">28</option>
          <option value="29">29</option>
          <option value="30">30</option>
          <option value="31">31</option>
        </select>
        <select name="month" size="1" class="knap">
          <option value="Januar">Januar</option>
          <option value="Februar">Februar</option>
          <option value="Marts">Marts</option>
          <option value="April">April</option>
          <option value="Maj">Maj</option>
          <option value="Juni">Juni</option>
          <option value="Juli">Juli</option>
          <option value="August">August</option>
          <option value="September">September</option>
          <option value="Oktober">Oktober</option>
          <option value="November">November</option>
          <option value="December">December</option>
        </select> <select name="year" size="1" class="knap">
          <option value="2003" selected>2003</option>
          <option value="2004">2004</option>
          <option value="2005">2005</option>
          <option value="2006">2006</option>
          <option value="2007">2007</option>
          <option value="2008">2008</option>
          <option value="2009">2009</option>
          <option value="2010">2010</option>
        </select> &nbsp;Kl:&nbsp; <input name="klokken" type="text" class="knap" style="width: 50px;"></td>
    </tr>
    <tr>
    <td><textarea name="indhold" style="height: 110px; width: 700px;" class="knap"></textarea>
<script language="JavaScript1.2" defer>
editor_generate('indhold');
</script> </td>
    </tr>
    <tr>
      <td><input name="submit" type="submit" value="Tilf&oslash;j Auktion" class="knap"></td>
     
    </tr>
  </table>
</form>
Avatar billede medions Nybegynder
24. september 2003 - 08:48 #1
Prøv lige sådan her :

  rs.AddNew
    rs("overskrift") = Server.HTMLEncode(Request("overskrift"))
    rs("indhold") = Server.HTMLEncode(Request("indhold"))
    rs("dato") = Request.Form("day") & "-" & Request.Form("month") & "-" & Request.Form("year")
    rs("klokken") = Server.HTMLEncode(Request("klokken"))
    rs.update

//>Rune
Avatar billede medions Nybegynder
24. september 2003 - 08:49 #2
Altså alt i alt sådan her:

'Åbner connection til databasen
rs = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../database/database.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open rs

'Hvis brugeren har submittet formularen
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then
   
'Tjecker om felterne er udfyldt
    if (Request.Form("overskrift") <> "" AND Request.Form("indhold") <> "") then
   
    Set rs = Server.CreateObject("ADODB.Recordset")
    strSQL = "select * from auk"
    rs.Open strsql, conn, 1, 3
   
  rs.AddNew
    rs("overskrift") = Server.HTMLEncode(Request("overskrift"))
    rs("indhold") = Server.HTMLEncode(Request("indhold"))
    rs("dato") = Request.Form("day") & "-" & Request.Form("month") & "-" & Request.Form("year")
    rs("klokken") = Server.HTMLEncode(Request("klokken"))
    rs.update   
    Response.Redirect("done.asp")
   
    rs.Close
    set rs = nothing
   
    else
    Response.Write("<br>Du mangler at udfylde felter!<br><a href=opretauk.asp>Tilbage</a>")
   
    end if
    end if

Min form ser sådan ud:
Det jscript som er i formen kalder en dhtml editor frem over tekstfeltet

<form action="?mode=submit" method="post" name="opretauk">
  <table border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td class="menupunkt">Overskrift:&nbsp;<input name="overskrift" type="text" class="knap" style="width: 200px;">
        &nbsp;Dato:&nbsp;
        <select name="day" size="1" class="knap">
          <option value="01">01</option>
          <option value="02">02</option>
          <option value="03">03</option>
          <option value="04">04</option>
          <option value="05">05</option>
          <option value="06">06</option>
          <option value="07">07</option>
          <option value="08">08</option>
          <option value="09">09</option>
          <option value="10">10</option>
          <option value="11">11</option>
          <option value="12">12</option>
          <option value="13">13</option>
          <option value="14">14</option>
          <option value="15">15</option>
          <option value="16">16</option>
          <option value="17">17</option>
          <option value="18">18</option>
          <option value="19">19</option>
          <option value="20">20</option>
          <option value="21">21</option>
          <option value="22">22</option>
          <option value="23">23</option>
          <option value="24">24</option>
          <option value="25">25</option>
          <option value="26">26</option>
          <option value="27">27</option>
          <option value="28">28</option>
          <option value="29">29</option>
          <option value="30">30</option>
          <option value="31">31</option>
        </select>
        <select name="month" size="1" class="knap">
          <option value="Januar">Januar</option>
          <option value="Februar">Februar</option>
          <option value="Marts">Marts</option>
          <option value="April">April</option>
          <option value="Maj">Maj</option>
          <option value="Juni">Juni</option>
          <option value="Juli">Juli</option>
          <option value="August">August</option>
          <option value="September">September</option>
          <option value="Oktober">Oktober</option>
          <option value="November">November</option>
          <option value="December">December</option>
        </select> <select name="year" size="1" class="knap">
          <option value="2003" selected>2003</option>
          <option value="2004">2004</option>
          <option value="2005">2005</option>
          <option value="2006">2006</option>
          <option value="2007">2007</option>
          <option value="2008">2008</option>
          <option value="2009">2009</option>
          <option value="2010">2010</option>
        </select> &nbsp;Kl:&nbsp; <input name="klokken" type="text" class="knap" style="width: 50px;"></td>
    </tr>
    <tr>
    <td><textarea name="indhold" style="height: 110px; width: 700px;" class="knap"></textarea>
<script language="JavaScript1.2" defer>
editor_generate('indhold');
</script> </td>
    </tr>
    <tr>
      <td><input name="submit" type="submit" value="Tilf&oslash;j Auktion" class="knap"></td>
     
    </tr>
  </table>
</form>

//>Rune
Avatar billede Karalumpas Praktikant
24. september 2003 - 16:21 #3
Det giver desværre samme resultat. Type Mismatch i rs("dato") = Request.Form("day") & "-" & Request.Form("month") & "-" & Request.Form("year")
sætningen.
Avatar billede dawin_dk Nybegynder
24. september 2003 - 17:47 #4
du skal ikke have value="månedsnavnet" .. men værdien for måneden .. 01 02 03 04 osv...
Avatar billede Karalumpas Praktikant
24. september 2003 - 22:10 #5
Det virker også fint nok første gang, men anden gang kommer samme fejl.
Er det muligt at fejlen ligger hos udbyderen?
Avatar billede dawin_dk Nybegynder
24. september 2003 - 22:26 #6
tror mere det er pga af teksten .. eller at du vælger en ugyldig dato .. der er jo ingen validering i det du har lavet om datoen er gyldig
Avatar billede Karalumpas Praktikant
25. september 2003 - 00:33 #7
Ja det ser ud til at det nok er der fejlen ligger.. Den vil i hvert fald godt oprette events nu men kun på de dage som er "lovlige". Så må jeg jo bare i gang med at lave et tjek på det..
Smider du ikke lige et svar?
Avatar billede dawin_dk Nybegynder
25. september 2003 - 00:48 #8
joeh kan jeg da godt ... :)
Avatar billede Karalumpas Praktikant
25. september 2003 - 00:53 #9
Du har tilfældigvis ikke lige en ved hånden jeg må låne?? :)
Avatar billede dawin_dk Nybegynder
25. september 2003 - 01:08 #10
en datovalidator ... hmm... er der ikke en isdate-funktion .. mener jeg ... (er serverside)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester