ASP-formulär|Programmering / Grafisk formgivning|Forum|Nordichardware

Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
The forums are currently locked and only available for read only access
sp_Feed sp_TopicIcon
ASP-formulär
pompougnac
Member
Medlem
Forum Posts: 3109
Member Since:
January 20, 2003
sp_UserOfflineSmall Offline
1
December 17, 2004 - 7:33 pm
sp_Permalink sp_Print

Har skrivit om ett ASP-formulär så att det passar mina behov, ser ut som följer:

<%
If Request.Form.Count = 0 Then
%>
<html>
<title>ASP</title>
<body leftmargin=0 topmargin=0 marginwidth="0" marginheight="0">
<table align="center" width="50%" border="0">
</table>
<table align="center" width="50%" border="0">
<tr>
<td>
<form method="post" action="msgbox2.asp">

<font face="arial" size="2">Namn: </font><input type="text" name="namn">

<font face="arial" size="2">Position: </font><input type="text" name="position">

<font face="arial" size="2">e-Post:
</font><input type="text" name="epost">

<font face="arial" size="2">Kommentarer:
</font><textarea name="kommentarer" rows=5 cols=10></textarea>

<input type="submit" value="Send"></td>
</form>
</td>
</tr>
</table>
</body>
</html>

<%
Else

Dim strNamn
Dim strPosition
Dim strEpost
Dim strKommentarer

Dim strFile
Dim objFile
Dim objFSO

strFile = Server.MapPath("comments2.txt")
strNamn= Request.Form("namn")
strPosition= Request.Form("position")
strEpost= Request.Form("epost")
strKommentarer= Request.Form("kommentarer")

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFile, 8, True)

objFile.WriteLine " " & strNamn & " " & strPosition & " " & strEpost & " " & strKommentarer & " "
objFile.Close
Response.AddHeader "REFRESH", "0; URL=formular2.asp"
Set objFile = Nothing
Set objFSO = Nothing

End if
%>

Då får jag ju ut det inskrivna resultatet i textfilen "comments2.txt", men grejen är att det man skriver in inte justeras i rader, eftersom vissa svar är olika långa osv. Då skulle jag istället vilja få in datan i ett excelblad, eller accessdatabas. Så att en rad innehåller namn, en epost osv... hur ska jag skriva om skiten så att det matas in rad-vis i ett excel/access dokument istället?

nv98ling
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 139
Member Since:
November 14, 2003
sp_UserOfflineSmall Offline
798947
December 17, 2004 - 10:26 pm
sp_Permalink sp_Print

ASP och en Accessdatabas fungerar smidigt ihop, här är lite exempel på hur du öppnar och läser/skriver till en databas.

Först måste du skapa en databas i Access ock skapa en tabell med kolumner du vill använda, tex namn, epost.
Det är bra att göra en kolumn till id(räknare), så att man inte får dubletter.

Öppna en koppling till databasen:
Dim conn, rs, sql
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("mindatabas.mdb") & ";"
Set rs = Server.CreateObject("ADODB.Recordset")

Sedan använder du SQL för att läsa/skriva från databasen.

För att läsa allt:
sql = "SELECT * FROM mintabell"
rs.Open sql,conn
Dim namn, epost
' den här kommer loopa igenom alla poster som finns i databasen så du kan skriva ut de på skärmen
If Not rs.EOF Then
namn = rs("Namn")
epost = rs("Epost")
End If

För att spara en ny post:
sql = "INSERT INTO mintabell (name, epost) VALUES ('" & strNamn & "','" & strEpost "')"
rs.Open sql,conn

Och till sist måste man stänga uppkopplingen till databasen:
rs.close
conn.close

Det kan vara lite krångligt att lägga till poster i databasen utan att få felmeddelanden, mappen där den ligger måste vara utdelad i nätverket och alla måste ha rättigheter att ändra på den, du måste även sätta skrivrättigheter på den mappen i IIS.

pompougnac
Member
Medlem
Forum Posts: 3109
Member Since:
January 20, 2003
sp_UserOfflineSmall Offline
798965
December 17, 2004 - 10:49 pm
sp_Permalink sp_Print

ok tusen tack!

desdecado
Kommer du hit ofta?
Medlem
Forum Posts: 700
Member Since:
July 14, 2003
sp_UserOfflineSmall Offline
799410
December 18, 2004 - 2:22 pm
sp_Permalink sp_Print

Om någon submittar en textmassa som sedan sparas som fil så sparas den ju precis som den skrevs in, dvs inga radbrytningar. Det är mao det verktyg du använder för att läsa .txt filen som avgör hur radbrytningarna blir (knäpp på Wordwrap i notepad för att få radbrytning automatiskt).

Om du menar att du vill ha radbrytningar mellan alla "förslag" (textmassor) så lägg in ett vbCrLf efter textmassan innan du sparar den. Exempelvis:


objFile.WriteLine " " & strNamn & " " & strPosition & " " & strEpost & " " & strKommentarer & vbCrLf & vbCrLf

..för att få 2 st radbrytningar mellan varje meddelande.

Forum Timezone: Europe/Stockholm
Most Users Ever Online: 1030
Currently Online:
Guest(s) 138
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Andreas Galistel: 16287
Jonas Klar: 15897
ilg@dd: 10810
Nyhet: 10607
Mind: 10550
Ctrl: 10355
Gueno: 9881
Guest: 9344
Snorch: 8881
Callister: 8468
Newest Members:
PetrbonFU PetrbonFU
Karine Bembry
Dolores Mcdaniels
Anibal McLeish
Francisca Alt
Alfie Everhart
Lester Huitt
Orlando Jorgensen
Mikki Lundgren
Dakota Kozlowski
Forum Stats:
Groups: 11
Forums: 59
Topics: 146630
Posts: 1300967

 

Member Stats:
Guest Posters: 2
Members: 79425
Moderators: 0
Admins: 11
Administrators: nordicadmin, Henrik Berntsson, Anton Karmehed, Carl Holmberg, Joel Oscarsson, Mikael Linnér, Mikael Schwartz, Andreas Paulsson, Nickebjrk, Mattias Pettersson, EmxL