Avatar billede hojben Novice
19. august 2000 - 01:57 Der er 6 kommentarer og
1 løsning

Danske fejltekster / egne fejltekster

Er der et trick til at få vist sine egne eller danske fejltekster ved fejl i aspsider som henter/tilføjer data til accesstabel?

fx. ville jeg gerne have min egen fejltekst til denne:

Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\' [Microsoft][ODBC Microsoft Access Driver] The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again. /mailing/mailingliste.asp, line 18

/Hojben
Avatar billede uffe_kld Nybegynder
19. august 2000 - 05:05 #1
I VBA er der noget error handling, men det lige netop hjælpe mod det her problem er jeg ikke klar.
Avatar billede styrmand Nybegynder
19. august 2000 - 07:36 #2
Inden du laver dit \"problemkald\" skal du skrive følgende:

On Error Resume  Next
Herefter laver du din databasekommandoer.
Initialisering og kald
På den næste linie kan du spørge om følgende.
objCon.Execute \"Update....\"
If objConn.Errors.Count>0 Then
  For Each objError in objCon.Errors
    Response write ObjError.Number + <BR>
  Next
End IF

ErrorObjektet indeholder 5 properties:
Number=Fejlkode
Description=Fejltekst
Source=Identificerer hvilket objekt gav fejlen.
SQLState= SQL fejlkode
Native.Error= Databasespecifikke kode.

Når du bruger Resume Next Vil Dit program fortsætte, uanset om der sker fejl eller ej. Herefeter skal du slv sørge for at skrive fejltekst m.v. Men det var vist også det du ville.
Mvh

Avatar billede styrmand Nybegynder
19. august 2000 - 08:57 #3
NB! <BR> skal selvfølgelig angives i gåseøjne, så udtrykket ser således ud:

Response.write objError.Number + \"<BR>\"
Avatar billede hojben Novice
19. august 2000 - 11:02 #4
Jeg må vist hellere smide hele sourcen for jeg fangede den simpelthen ikke. Hvor skal det du skrev smides ind henne?

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
conn.Open \"DBQ=\"&(Server.MapPath(\".\")) &\"\\mailing.mdb; DefaultDir=DBQ=\"&(Server.MapPath(\".\")) &\"\\;Driver={Microsoft Access Driver (*.mdb)};\"

if request(\"password\") = \"hehedenmåiikkese\" then
session(\"login\") = \"ok\"
end if %>
<HTML>
<HEAD>
<TITLE>Mailingliste</TITLE>
</HEAD>
<BODY BGCOLOR=\"#525E6A\" TEXT=\"#000000\">
<%
if request(\"mode\") = \"1\" then

SQL = \"INSERT INTO mailingliste ( navn, email ) values (\'\" & request(\"navn\") & \"\', \'\" & request(\"email\") & \"\')\"
\'response.write (SQL)
conn.execute (SQL)
response.write \"<BR><FONT FACE=\'Arial\' SIZE=\'3\' COLOR=\'#000000\'><STRONG><CENTER>Du er nu blevet tilmeldt mailinglisten.</CENTER></STRONG></FONT>\"
else
%>
<CENTER>
  <TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"2\" width=\"500\">
    <TR bgcolor=\"#728395\">
      <TD COLSPAN=\"2\" ALIGN=\"CENTER\"> <FONT FACE=\"Arial\" SIZE=\"2\" COLOR=\"#000000\">
        <STRONG>Tilmeld dig Mailinglisten</A></STRONG> </FONT> </TD>
  </TR>
<form action=\"mailingliste.asp\" METHOD=\"POST\">
<input type=\"hidden\" name=\"mode\" VALUE=\"1\"><br>
      <TR bgcolor=\"#728395\">
        <TD height=\"23\">
          <div align=\"right\"><STRONG> <FONT FACE=\"Arial\" SIZE=\"3\" COLOR=\"#000000\">
            Navn:</FONT> </STRONG> </div>
        </TD>
        <TD height=\"23\">
          <input type=\"text\" name=\"navn\" size=\"40\"><br>
    </TD>
  </TR>
      <TR bgcolor=\"#728395\">
        <TD height=\"2\">
          <div align=\"right\"><STRONG> <FONT FACE=\"Arial\" SIZE=\"3\" COLOR=\"#000000\">
            E-mail:</FONT></STRONG></div>
        </TD>
        <TD height=\"2\">
          <input type=\"text\" name=\"email\" size=\"40\"><br>
    </TD>
  </TR>
      <TR bgcolor=\"#728395\">
        <TD VALIGN=\"TOP\">&nbsp; </TD>
        <TD ALIGN=\"RIGHT\">
          <div align=\"left\">
            <input type=\"submit\" value=\"-- Tilmeld --\">
          </div>
        </TD>
  </TR>
</form>
</TABLE>
<FORM NAME=\"login\" METHOD=\"post\">
    <table width=\"500\" border=\"1\">
      <tr bgcolor=\"#728395\">
        <td>
          <div align=\"center\">
            <input type=\"password\" name=\"password\">
            <input type=\"submit\" value=\"-- Admin Login --\" name=\"submit\">
          </div>
        </td>
      </tr>
    </table>
    <br>
  </FORM>
<% end if
if session(\"login\") = \"ok\" then

if request(\"mode\") = \"slet\" then
SQL = \"DELETE FROM mailingliste where id =\"& request(\"id\")
conn.execute (SQL)
end if %>
  <TABLE width=\"500\">
    <TR>
    <TD>&nbsp;
       
    </TD>
    <TD>
        <FONT FACE=\"Arial\" SIZE=\"3\" COLOR=\"#000000\">
        <STRONG>
        Navn
        </STRONG>
        </FONT>
    </TD>
    <TD>
        <FONT FACE=\"Arial\" SIZE=\"3\" COLOR=\"#000000\">
        <STRONG>
        Email
        </STRONG>
        </FONT>
    </TD>
  </TR>

<%
SQL = \"SELECT * from mailingliste\"
set slet = conn.execute( SQL )
do while not slet.eof
on error resume next %>
  <TR>
    <TD>
        <FONT FACE=\"Arial\" SIZE=\"3\" COLOR=\"#000000\">
      <A HREF=\"mailingliste.asp?id=<% = slet(\"id\") %>&mode=slet\">Slet</A>
    </TD>
    <TD>
        <FONT FACE=\"Arial\" SIZE=\"3\" COLOR=\"#000000\">
      <% = slet(\"navn\") %>
        </FONT>
    </TD>
    <TD>
        <FONT FACE=\"Arial\" SIZE=\"3\" COLOR=\"#000000\">
      <% = slet(\"email\") %>
        </FONT>
    </TD>
  </TR>
<%
slet.movenext
loop %>
</TABLE>   
<% conn.close
end if
%>

<br><br>
  <hr>
  <table width=\"500\" border=\"1\">
    <tr>
      <td>
        <div align=\"center\"><font color=\"#FFFFFF\">Hvis du får denne besked:<br>
          Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\' [Microsoft][ODBC
          Microsoft Access Driver] The changes you requested to the table were
          not successful because they would create duplicate values in the index,
          primary key, or relationship. Change the data in the field or fields
          that contain duplicate data, remove the index, or redefine the index
          to permit duplicate entries and try again. /mailing/mailingliste.asp,
          line 18 </font></div>
      </td>
    </tr>
  </table>
  <br>
  <br>
  Så er det fordi du alledere er tilmeldt!!!</center>
</BODY>
</HTML>
Avatar billede styrmand Nybegynder
19. august 2000 - 11:40 #5
Hvis det f.eks. er i din slettefunktion så.
if request(\"mode\") = \"slet\" then
SQL = \"DELETE FROM mailingliste where id =\"& request(\"id\")
----On Error Resume  Next
conn.execute (SQL)
----If Conn.Errors.Count>0 Then
----  For Each objError in objCon.Errors
----      Response write ObjError.Number + <BR>
----  Next
---- End IF

Denne kode vil vise fejlkoderne som måtte opstå. Du kan selv erstatte mit Response.write, med hvad du måtte ønske.
Avatar billede hojben Novice
19. august 2000 - 11:45 #6
Det er ved tilmelding af emailadresse. feltet email er sat til nøglefelt i access.
Avatar billede hojben Novice
29. november 2000 - 11:00 #7
Well droppet
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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