Just nu i M3-nätverket
Gå till innehåll

"Fältet får inte vara tomt"


Inkan

Rekommendera Poster

Snälla någon. Vad betyder detta meddelande?

 

Microsoft OLE DB Provider for ODBC Drivers fel '80004005'

 

[Microsoft][Drivrutin för ODBC Microsoft Access] Fältet 'tabell.text' får inte vara tomt.

 

/aspkoder/admininmat.asp, rad 16

 

 

Här är koden för formuläret....

 

<html>

 

<head>

<title>Admin</title>

</head>

 

<body bgcolor="99ccff" link="#999999" vlink="#003366" alink="#999999" marginwidth="100" marginheight="50" leftmargin="100" topmargin="50"><FORM METHOD=POST ACTION="admininmat.asp" NAME="formular" ENCTYPE="text/plain">

 

<table border="0">

<td>&nbsp;</td><td align="left"></td><td>&nbsp;</td>

<tr></tr>

 

<td valign="top"></td>

<td><TEXTAREA rows=8 cols=40 NAME="text"></TEXTAREA></td>

<td></td><tr></tr>

<td></td>

<td><INPUT TYPE NAME="uppdat"><INPUT TYPE="SUBMIT" VALUE="Uppdatera">

<INPUT TYPE="reset" VALUE="Börja om"></td>

<td>&nbsp;</td><tr></tr>

<td>&nbsp;</td>

<td><a href="javascript:window.close()">Stäng fönstret</a></td>

<td>&nbsp;</td>

 

</table>

</body>

 

</html>

 

...och här är asp. koden som formuläret skickar till.

 

<%@ Language=VBScript %>

<% Option Explicit %>

 

<%

Dim strText, strUppdat, db, sql

 

strText=Request.Form("text")

strUppdat=Request.Form("uppdat")

 

 

Set db= Server.CreateObject ("ADODB.connection")

db.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db\databas.mdb")

 

sql = "INSERT INTO tabell VALUES('" & strText & "', '" & strUppdat & "')"

(här är rad 16)

db.Execute sql

 

Response.Write "Text text text" & "<br>"

 

db.Close

Set db = Nothing

 

%>

 

<html>

<body background="graf/bakemb1.gif" marginwidth="100" marginheight="50" leftmargin="100" topmargin="50"><br><br><br><a href="adminvisa.asp"><font color="#003366" size="4">Se alla inlägg</font></a>

</body>

</html>

 

 

I Accessdatabasen "databas" finns tabellen "tabell" med två fält "text" och "uppdat". Jag har kollat noga att strängarna stämmer överens. Problemet har plötsligt dykt upp. Koden har funkat förut. Oerhört taxam om jag får hjälp med detta!

 

 

Länk till kommentar
Dela på andra webbplatser

[Microsoft][Drivrutin för ODBC Microsoft Access] Fältet 'tabell.text' får inte vara tomt.

 

Ja, det låter ju onekligen som att någon har lämnat textarean tom.

 

Felet kommer vid rad 16 eftersom det är där som du kör SQL-satsen till databasen.

 

<td><INPUT TYPE NAME="uppdat"><INPUT TYPE="SUBMIT" VALUE="Uppdatera">
<INPUT TYPE="reset" VALUE="Börja om"></td>

 

Bör skrivas:

<td><INPUT TYPE[b]="text"[/b] NAME="uppdat"><INPUT TYPE="SUBMIT" VALUE="Uppdatera">
<INPUT TYPE="reset" VALUE="Börja om"></td>

 

 

 

.dune.

---------------

Tempus fugit

 

Länk till kommentar
Dela på andra webbplatser

Tack för ditt snabba svar. Det var ju klantigt av mig att missa INPUT TYPE="text". Dessvärre kvarstår problemet. Jag har dock lagt till citationstecken kring POST (FORM ACTION="POST") samt kring storleken på textarean (<TEXTAREA rows="8"cols="40" NAME="text">). Men det tycks inte göra någon skillnad. Kan felet ligga i ODBC-kopplingen?

 

Länk till kommentar
Dela på andra webbplatser

Magnus Ahlkvist

Felet ligger i din Access-databas.

Default-inställningen för ett text-fält i Access är "Allow Null, Don't allow empty string".

Ändra det i tabell-definitionen så funkar det.

 

 

--

Snäll ibland. Rättvis nästan jämt. Elak för det mesta.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...