Martin Speiser: ASP / VbScript / Access: Fehlermeldung 0x80040E2F

Beitrag lesen

Hi Bine,

Microsoft OLE DB Provider for ODBC Drivers (0x80040E2F)
[Microsoft][ODBC Microsoft Access Driver] Null-Wert in Index oder Primärschlüssel nicht möglich.
/test-bine/Auftrag31.asp, line 29

irgendein Feld darf wohl keinen Null-Wert bekommen. Jetzt gilt es rauszukriegen, welches Feld da keinen Wert kriegt.

If Error=0 Then
 objRs.open "TabAuftraege", objConn, adOpenKeyset, adLockOptimistic
 objRs.AddNew
  objRs.Fields("KunID")=Request.Form("mKunID")
  objRs.Fields("AufAuftragsdatum")=Request.Form("Auftragsdatum")
  objRs.Fields("AufLieferdatum")=Request.Form("Lieferdatum")
  objRs.Fields("AufUstSatz")=Request.Form("UstSatz")
 objRs.Update

Okay, hier werden die Felder KunID, AufAuftragsdatum, AufLieferdatum und AufUstSatz gesetzt. Gibt Request.Form da auch wirklich Werte zurück, oder ist eins davon Nothing? Das solltest du überprüfen.

Response.Write("<table><tr><td> Auftrags-ID</td>" & objRs.Fields("AufID").Value & "</td> </tr>")
 Response.Write("<tr><td> Kunden-ID</td>" & objRs.Fields("AufKunID").Value & "</td> </tr>")
 Response.Write("<tr><td> Auftragsdatum</td>" & objRs.Fields("AufAuftragsdatum").Value & "</td> </tr>")
 Response.Write("<tr><td> Lieferdatum</td>" & objRs.Fields("AufLieferdatum").Value & "</td> </tr>")
 Response.Write("<tr><td> Umsatzsteuer</td>" & objRs.Fields("AufUstSatz").Value & "</td> </tr></table>")

Hier werden die Werte wieder ausgegeben. Inklusive einem Feld AufID. Das scheint ja in der gleichen Tabelle zu stehen. Ist das vielleicht auf not nullable gesetzt? Denn beim Update wird das ja nicht belegt.

Ansonsten poste mal die Definition der Tabelle.

Gruß,
Martin