Vet någon om det går att fånga felmeddelanden? Bara en tanke, beror det inte på vilken språkversion du har på Access och eventuellt vilket opsystem du har på burken? Jag vet inte men kanske man skulle kunna åtminstone visa om det blir ett fel som är orsakat av ogiltig databas operation så kunde man kanske fånga det , då kunde man ju lista olika fel som det kan bro på. Nånting att börja läsa: http://www.4guysfromrolla.com/webtech/060399-1.shtml exempel: Kanon! tack skall ni ha, jag skall försöka få till det direkt. Hmm det vill sig ej. Du måste kolla vilket Err.Number du har på det felet, och sedan kör du enligt Pelles kodsnutt Felet har nr:80004005 Raderad kommer den ju inte bli - det är ju det felmeddelandet säger. Sen att använda ....4005 är också ett generellt felmeddelande som täcker flera hundra felkoder så det blir också fel. Du får helt enkelt förändra sättet att tänka om du skall få till något bra. Tyvärr har jag för lite information för att kunna ge dig en knuff i rätt riktning. Jag förstår att den inte skall raderas, och jag misstänkte att det inte gick att fånga just det fel man hade gjort, därför så som jag skrev tidigare så skulle det vara kanon om jag kunde åtminstone tala om att något är fel och eftersom att det till nästan 100% är samma fel så hade jag kunnat tagit det som exempel i mitt meddelande.Visa felmeddelande...
Det jag skulle vilja göra är att skriva egna felmeddelanden när någon gör något fel när de skall posta eller radera i en databas.
T ex. om någon försöker radera en post där det finns relaterad data i en annan tabell så får man felmeddelandet
“Microsoft JET Database Engine error '80004005'
The record cannot be deleted or changed because table 'tbl_deltagit' includes related records.”
Jag skulle vilja använda ett eget meddelande T ex. ”Denna post går inte att radera pga att det finns relaterad data i en annan tabell”.
Vet någon om det går?
/RobertW
Databas: Access
Språk: ASPSv: Visa felmeddelande...
Sv: Visa felmeddelande...
Sv: Visa felmeddelande...
Sv: Visa felmeddelande...
<code>
on error resume next
' (hämtar mitt data, eller skriver mitt data)
if err > 0 then
if err.number = xxx then
message = "mitt fel"
else
message = err.description
end if
end if
on error goto 0
</code>Sv: Visa felmeddelande...
Mvh
/RobertSv: Visa felmeddelande...
Skall det funka på T ex. Fel '80004005', (när man försöker radera en relaterad post)?
/RobertSv: Visa felmeddelande...
Sv: Visa felmeddelande...
Då tycker jag att detta borde funka:
<CODE>
if err > 0 then
if err.number = 80004005 then
message = "Du får inte radera denna post"
else
message = err.description
end if
end if
</CODE>
Men det som händer är att jag inte får något meddelande (när jag med flit försöker radera) utan jag blir förflyttad till den sidan som jag skulle ha kommit till om det hade funkat, förutom att posten finns kvar.Sv: Visa felmeddelande...
Sv: Visa felmeddelande...
Det som sker nu är att standard felmeddelandet
“Microsoft JET Database Engine error '80004005'
The record cannot be deleted or changed because table 'tbl_deltagit' includes related records.”
Hoppas över och i stället så går det vidare till nästa sida via ”Redirect” (vilket den skall göra om allt funkar).
Det jag får göra är att inte visa de poster som har en relaterad post i en annan tabell, så i detta fall så kan jag gå runt det hela, men det är i andra situationer som jag skulle vilja visa mer beskrivande på svenska vad användare kan ha gjort för fel.
Så egentligen så skulle det räcka mycket långt för mej om jag kunde skapa en funktion som typ :
Något är fel skicka användare till sidan ”Fel.asp”.
/Robert