Avatar billede totalpc Seniormester
06. december 2010 - 15:18 Der er 2 kommentarer og
1 løsning

Ikke medtage felt hvis det er lig

Jeg bruger et lille asp script til at oprette et excel ark. Det virker fint. Men nu vil jeg gerne have den til kun at medtage et specifikt fejl hvis det er lig noget bestemt.

Altså feltet bladkode skal kun vises i udtrækket hvis det er = 0 eller 2. Det kan også være 4 eller 6, men hvis det er det, så skal feltet blot være blankt i udtrækket.

Her er scriptet
<%
Dim objConn        'Holds the Database Connection Object
Set objConn = Server.CreateObject("ADODB.Connection")

'Set an active connection to the Connection object using a DSN-less connection
objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("medlemsrs.mdb")

Function CreateExcel(Title,tblname)
  Dim Rs,Fso,Act,fname
  Fname = "Udtrak.xls"
  Set rs = Server.CreateObject("ADODB.Recordset")
  Set FSO = Createobject("scripting.filesystemobject")
  Set act = Fso.CreateTextfile(server.mappath(Fname),true)
  rs.Open Tblname, objconn, 3, 3
  If Not Rs.EOF and not Rs.BOF Then
    act.WriteLine "<html xmlns:x=""urn:schemas-microsoft-com:office:excel"">"
    act.WriteLine "<head>"
    act.WriteLine "<!--[if gte mso 9]><xml>"
    act.WriteLine "<x:ExcelWorkbook>"
    act.WriteLine "<x:ExcelWorksheets>"
    act.WriteLine "<x:ExcelWorksheet>"
    act.WriteLine "<x:Name>"& title &"</x:Name>"
    act.WriteLine "<x:WorksheetOptions>"
    act.WriteLine "<x:Print>"
    act.WriteLine "<x:ValidPrinterInfo/>"
    act.WriteLine "</x:Print>"
    act.WriteLine "</x:WorksheetOptions>"
    act.WriteLine "</x:ExcelWorksheet>"
    act.WriteLine "</x:ExcelWorksheets>"
    act.WriteLine "</x:ExcelWorkbook>"
    act.WriteLine "</xml>"
    act.WriteLine "<![endif]--> "
    act.WriteLine "</head>"
    act.WriteLine "<body>"

    Act.Writeline "<table border=1>"
    Act.Writeline "<Tr>"
    For X = 0 to Rs.Fields.count - 1
      Act.Writeline "<Td><b>" & Rs.Fields.Item(x).Name & "</b></td>"
    Next
    Act.Writeline "</Tr>"
    While not Rs.Eof
      Act.Writeline "<Tr>"
      For X = 0 To Rs.Fields.Count - 1
        Act.Writeline "<Td>" & Rs.Fields.Item(X).Value & "</td>"
      Next
      Act.Writeline "</Tr>"

      Rs.Movenext

    Wend
    Act.Writeline "</Table>"
    act.writeline "<tr></tr>"
    act.writeline "<tr>Genereret af x</tr>"
    act.WriteLine "</body>"
    act.WriteLine "</html>"

  End if
  Act.close
  Rs.close
%>
<html>
<body style="background-color: #ECF9FF">
Dit excel udtræk kan hentes hér: <a href="<%=fname%>" target="_blank"> Udtræk </a>
</body>
</html>
<%
  End function

call CreateExcel("Titelnavn","SELECT Medlemsnr,Fornavn,Efternavn,Adresse,Postnummer,By,Land,Medlemsstatus,Tlf,Email,bladkode,Diverse,Apua,Kredsadmin,Admin,Tillad_Kreds,Tillad_Alle,IIF(gkodeord=kodeord, gkodeord, '') AS Generet_kodeord from medlem ORDER BY Medlemsnr")
'call CreateExcel("Titelnavn","SELECT feltnavn1,feltnavn2,feltnav3 from medlemmer ORDER BY feltnavn ")
'Reset server objects

Set rs = Nothing
Set objConn = Nothing

%>
Avatar billede claes57 Ekspert
06. december 2010 - 15:34 #1
det ene loop
  While not Rs.Eof
      Act.Writeline "<Tr>"
      For X = 0 To Rs.Fields.Count - 1
        Act.Writeline "<Td>" & Rs.Fields.Item(X).Value & "</td>"
      Next
      Act.Writeline "</Tr>"

      Rs.Movenext

    Wend

skal rettes til

    While not Rs.Eof
      Act.Writeline "<Tr>"
      For X = 0 To Rs.Fields.Count - 1
        if Rs.Fields.Item(x).Name="bladkode" then
          if Rs.Fields.Item(X).Value=0 _
                  or Rs.Fields.Item(X).Value=2 then
            Act.Writeline "<Td>" & Rs.Fields.Item(X).Value & "</td>"
          else
            Act.Writeline "<Td></td>"
          end if
        else
          Act.Writeline "<Td>" & Rs.Fields.Item(X).Value & "</td>"
        end if
      Next
      Act.Writeline "</Tr>"
      Rs.Movenext
    Wend
Avatar billede totalpc Seniormester
06. december 2010 - 21:36 #2
Takker. Smid et svar
Avatar billede claes57 Ekspert
07. december 2010 - 11:02 #3
ok...
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