Avatar billede fenriz Nybegynder
30. april 2002 - 14:24 Der er 9 kommentarer og
1 løsning

Generere nyt asp Dokument

Jeg har et problem, da jeg skal ha en funktion der opretter et nyt ASP dokument, vis f.eks. en man opretter en ny afd. til et firma på selve sitet, skal den lave et nyt ASP dokumnet med med det nye afd. navn kunnen.
Avatar billede webbe Nybegynder
30. april 2002 - 14:29 #1
Brug følgende:

Session("Afdeling") = request.form("afdeling")

'Danner filen ud fra afdelingens navn
filEfternavn = ".asp"

'Find et filnavn
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
fileName = Session("Kundenr")&filEfternavn

i = 1

do while objFSO.FileExists(Server.MapPath("./filmappe/"&fileName))
        fileName = Session("Afdeling")&"("&i&")"&filEfternavn
        i = i + 1
loop
   
Set objTextStream = objFSO.CreateTextFile(Server.MapPath("./filmappe/"&fileName))
Avatar billede webbe Nybegynder
30. april 2002 - 14:30 #2
Ups - alle Session("Kundenr") skal selvfølgelig rettes til Session("Afdeling")
Avatar billede fenriz Nybegynder
30. april 2002 - 14:34 #3
ASP dokumentet skal også indeholde SQL, altså den bygger et helt dokumnet fra bunden, den skal lave et nyt dokumnet hvor der er et nyt SQL udtræk fra den nye afd.
Avatar billede fenriz Nybegynder
30. april 2002 - 14:35 #4
Her er et udkast af noget jeg har forsøgt:

strFileName = "C:\Inetpub\wwwroot\www.Plus-Intranet\Personaleoversigt\" & strAfd & ".asp"
        QUOT = Chr(34)
        CRLF = VbCrLf
       
        'Laver en ny fil, overskriver den eksisterende.
        Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
        Set ObjFile = objFSO.CreateTextFile(strFilename, true)
       
        'Skriver start tag på siden HEAD, Meta, Titel til filen.
        strLine = "<html><head><title>" & QUOT & strAfd & QUOT & "</title>"
        objFile.WriteLine strLine & CRLF
       
        'Skriver include filerne ind (root node)
        strLine =" <link rel=stylesheet href=../CSS/border.css type=text/css>"
        objFile.WriteLine strLine & CRLF
       
        'Dim til databasen.
        strLine =" <% Dim objConn %>"
        objFile.WriteLine strLine & CRLF
       
        strLine =" <% Dim objRS %>"
        objFile.WriteLine strLine & CRLF
       
        strLine =" <% Dim strQ %>"
        objFile.WriteLine strLine & CRLF
       
        strLine =" <% Dim DSN %>"
        objFile.WriteLine strLine & CRLF
       
        strLine =" <% Dim sEmail %>"
        objFile.WriteLine strLine & CRLF
       
        'Åbner databasen
        strLine =" <% Set objConn = Server.CreateObject(ADODB.Connection) %>"
        objFile.WriteLine StrLine & CRLF
       
        strLine =" <% DSN = DRIVER={Microsoft Access Driver (*.mdb)}; %>"
        objFile.WriteLine StrLine & CRLF
       
        strLine =" <% DSN = DSN & DBQ= & Server.MapPath(../database/plusDatabase.mdb) %>"
        objFile.WriteLine StrLine & CRLF
Avatar billede webbe Nybegynder
30. april 2002 - 14:36 #5
Hmmm - hvorfor vil du lave det på den måde???

Du kan da nøjes med én asp-fil til at vise ALLE afdelinger - det er bare et spørgsmål om at din sql-sætning er rigtig.
Avatar billede fenriz Nybegynder
30. april 2002 - 14:55 #6
Hvordan laver jeg så evt. en SQL streng i et link ?
Avatar billede webbe Nybegynder
30. april 2002 - 15:03 #7
Du skal lave querystrings i dit link.

Et eksempel

<html>
<head>
<title>Afdelinger</title>
</head>
<%
Set Conn = Server.createobject("ADODB.Connection")
Conn.Open "dsn_name"

strSQL = "SELECT * FROM Afdelinger ORDER BY Navn"
Set rs = Conn.Execute(strSQL)
%>
<body>
<%
Do while not (rs.bof or rs.eof)
%>
<a href="vis_afdeling.asp?id=<%=rs("Id")%>"><%=rs("Navn")%></a>
<%
rs.movenext
loop
%>
</body>
</html>

Ovenstående lister alle de afdelinger der er oprettet i din database.

Filen vis_afdeling.asp laves så som følger:

<html>
<head>
<title>Afdelingen vises</title>
</head>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "dsn_name"

'sql der vælger den specifikke afdeling
strSQL = "SELECT * FROM Afdelings_info WHERE AfdId="&request.querystring("id")
Set rs = Conn.Execute(strSQL)
%>
<body>
<%=rs("Navn")%>
<br>
............
</body>
</html>

Kommentarer:

Tabellen Afdelinger indeholder kun et Id-felt (autonummerering) og et Navn-felt (tekst).

Afdelings_info indeholder alle specifikke data for den enkelte afdeling, samt feltet AfdId, der er relationen mellem tabellen Afdelings_info og tabellen Afdelinger.
Avatar billede webbe Nybegynder
30. april 2002 - 15:05 #8
Det er den smarteste måde at gøre det på! ;0)
Avatar billede fenriz Nybegynder
30. april 2002 - 15:05 #9
Takker :)
Avatar billede webbe Nybegynder
30. april 2002 - 15:06 #10
Det var så lidt! ;0)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste artiklerRSS
09:00
07:52
07:37
07:32
07:02
06:42
12:00
23/10
23/10
23/10
23/10