När jag skickar html formulär till databasen och vill ta emot tomma fält hur gör jag då? Kan jag ställa om access 2000 databasen så att den tar emot noll värden?
------------------
18 svar · 495 visningar · startad av adde
När jag skickar html formulär till databasen och vill ta emot tomma fält hur gör jag då? Kan jag ställa om access 2000 databasen så att den tar emot noll värden?
------------------
Ja, gå till designläget i Access så kan man ställa in detta
Hej,
eller så skapar man en funktion som kollar strängen och byter ut tomma forumulärfält.
Function KollaStr(String)
if String = "" Then String = " "
End Function
Används så här:
SQLStmt = "INSERT INTO Tabell(Fält1,Fält2) "
SQLStmt = SQLStmt & "VALUES ('"KollaStr(Request.Form("fält1"))"',_
'"KollaStr(Request.Form("fält2"))"')
cul8er
/PatrikB
[Redigerat av PatrikB den 07 apr 2000]
Ja, gå till designläget i Access så kan man ställa in detta
För att förklara detta lite närmare.
Starta MS Access, gå till Designläget, klicka på den rad som du vill ändra Allow Zero Length till Yes.
------------------
/mvh Swey
swey@tjohoo.se
[Redigerat av Swey den 07 apr 2000]
Om man istället vill göra det med asp, hur gör man då? *har letat överallt efter svar*
on error resume next
Kanske? Detta gör ju att scriptet ignorerar kravet på att posten måste vara ifylld.
(...Jag väntar på ett ramaskri)
Hmm.. nä, PatrikBs förslag dög inte ;) Jag vill kunna sätta det direkt till tabellen när jag skapar den, då är det klart och behöver inte oroas för senare.
Finns det ingen som vet hur? *hålla tummarna*
Och du skapar alltså tabellen med asp. inte i Access direkt?
Jajemen, med asp :)
Nej. Man kan inte skapa tabeller med asp med Access.
Det går med mySQL och med MS SQL men inte med Access.
***
Reservation: om jag har fel, är detta en ny funktion i Access 2000 + Windows Scripting 5.0?
Det har inte gått tidigare i alla fall...
Hmm...
Jodå, det går visst att skapa accessdatabaser, tabeller med mera med asp ... problemet jag har är endast hur man gör för att ändra "allow zero length" till yes istället för no... (inte i access alltså)
Kan detta vara ngt?
Tabell = Request.QueryString("Tabell")
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.MapPath("DBPath/"))
Set Read = FSO.OpenTextFile(Server.MapPath("DBPath/DB_Path.txt"), 1, False, False)
DBPath = Read.ReadLine
Set Read = Nothing
Set Folder = Nothing
Set FSO = Nothing
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath
If Request.Form("Func") = "Add" Then
Field = Request.Form("Field")
DataTyp = Request.Form("Datatyp")
AllowNull = Request.Form("NULL")
SQLStmt = "Alter Table "& Tabell &" add " & Field & " " & DataTyp & " " &[b] AllowNull[/b] & " "
Conn.Execute(SQLStmt)
%>
Vad menar du Jesper T med:
Field = Request.Form("Field")
DataTyp = Request.Form("Datatyp")
AllowNull = Request.Form("NULL")
?
Vad vill du att det ska vara för värden där? om jag tar tex
faltet text(50) NOT NULL
så är det ju fortfarande required som påverkas, inte allow zero length.. eller menade du att det ska vara något annat värde i AllowNull?
(dessutom ville jag göra det i create table, inte alter table, men det hör inte hit:)
LarsG, länken fungerar inte:/ Varför tror du inte att det går med sql? Det är väl klart att det går, på något sätt....
Länken fungerar för mig, sidan är dock väldigt trögladdad.
Fundering
Allow zero length är väl inte samma som att tillåta null? Jag har bara sett allow zero length i samband med Access och jag använder aldrig Acccess.
Det går att ta bort ett not null - constraint med hjälp av sql. Syntaxen är
alter table t drop constraint <constraint_name>
Om man inte namngav constraintet när man skapade tabellen så blir det ett genererat namn. Det namnet går att få fram om man använder metode openschema.
Som sagt så har jag fått för mig att detta inte är samma som "allow zero length" och om det är sant så har jag aldrig sett någon sql-syntax för det.
Nej, null har som sagt med required att göra som är något helt annat (skillnaden har jag dock inte riktigt förstått, men det är två olika värden:).... jo, access är väl inte det bästa men det som jag vill ska fungera just nu...
tror ändå att det måste finnas något sätt, det gör det alltid!
Jag ger mig inte... det måste finnas något sätt, och det måste finnas någon vänlig själ där ute som kan hjälpa mig?:)
Vet inte riktigt om jag uppfattar problemet till 100%, men detta script: http://www22.brinkster.com/akira1976/zip/ADOX.zip där blir väl databasen som du vill ha den!?!
Kanske kan du få några ideer från det.